package com.future;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Description:
 * 给定一个字符串，请将字符串里的字符按照出现的频率降序排列。
 * <p>
 * 示例 1:
 * <p>
 * 输入:
 * "tree"
 * <p>
 * 输出:
 * "eert"
 * <p>
 * 解释:
 * 'e'出现两次，'r'和't'都只出现一次。
 * 因此'e'必须出现在'r'和't'之前。此外，"eetr"也是一个有效的答案。
 * 示例 2:
 * <p>
 * 输入:
 * "cccaaa"
 * <p>
 * 输出:
 * "cccaaa"
 * <p>
 * 解释:
 * 'c'和'a'都出现三次。此外，"aaaccc"也是有效的答案。
 * 注意"cacaca"是不正确的，因为相同的字母必须放在一起。
 * 示例 3:
 * <p>
 * 输入:
 * "Aabb"
 * <p>
 * 输出:
 * "bbAa"
 * <p>
 * 解释:
 * 此外，"bbaA"也是一个有效的答案，但"Aabb"是不正确的。
 * 注意'A'和'a'被认为是两种不同的字符。
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/sort-characters-by-frequency
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 *
 * @author weiruibai.vendor
 * Date: 2021/10/8 15:03
 */
public class Solution_frequencySort_451 {

    public static void main(String[] args) {
        String s = "cccaa";
        s = "Aabb";
        s = "BabBbBbBbbABBABBbAabbbABBaBbBabaabBbbBAAaaAbbAABaAbBBaAaaaaBABbaBbAAbBBbbABBaaBBbabAbBBAAbAbaaaBrBBaAaabAbbBbABabABaBabBBBBBaAbAaABaaaAAaAgAaAaBAbaBaBaBbbbBbABBBBaaaBbbbAbbbBaBBaAbBBbbaaaaaBbbaaAAbAABBABBaAAABBbbBbBbbBbaABBAAbBAbabbbabwBbbBArABaBBbabBaBabABABaabBBABBAabBAAaabbbbBAababAaBaaAaBbBbBAAbaBabBbabaBaaBbaabABAbbBbaBAbabABbbaAaBbAAAbBbaabBBAbbbABbaabAAAaaaBaBaaaBBABbBAbAAbaABaabbbbBBAabbbBABBbaABBAAAabaAbaBAbbaBaBbAbaAAbBaBAbAabBBbBsBabbbAaBbabAAaABAaBAAAbbaBaAbABABBBAbABABbbbBaaBaBAbABAbaaAbBbAABBbAbbAaBbabaBbABAAbAABbbAabAaAaBbBBbAAbBbaaaBAbABBbBBaCabBBabBAaBbBaAbbBAbbBaBAabBAababAaAbaAaabBBBABabaabBAAAabBAAAbBAbAaaaAbAaBaAbbAaABABBbBBAABAabaAAbBaBbAAaabbABBBABaBAabAbAAbBbAabAbaBbAbBAABAABAAAbBaaaaBabbaBABBaABbAabBaBAbAbbABAbaAAbaAAaBaabaBbBBbBABAABBABBaabBBbBBABAAaAAbbBbABBBbAabAbABbAAAbbAbABbbAbBAbabbbBBBBbAAabaabBABABaaAbaBBBBbbABbBbBABBaAbAaBBABBBabAABBBBBbBBabBaaBbaaBaBbaBbbAABbbAaaBBBbabaabBABABBBGabbBAbaBabAaAAabbbBaabBBbABBabBabbBbAbbAaBbAaAabBabBBbaBLaAbbAaaBaabAAabbABAAAAAbaAbaAabaAaAbaAbBbBAABbbbaBABbBBAbaaBBbaaAbbaAaaJAaAbAbbXBABAABABbbbBaAABaAAaaaabbbbBaABbaAbaAAbAaaBAaaAbbBaaBAabAbbAbBAbBaaaaaabBBaaabAaaAAaAaabBAaAaaAABbbaAAababBBBAABbAAbBBbAAaBAaABabaAAbABBbAAbBBbbBBBBAAaAbbBBAbaHbAaAbrBBAaBBbbabAbBaaaABAAAaABaBBbBbBBabBBBbBBBAbAaAaaBbAbABaabBbBBAAaaAAabAaaabbHAabABAbaBBBbBAaAabbbarbaBbbaAbaBAaBBAbbBaBbBABBAAbAbaABbABbBBAABaBBbBAAAbaaBAabBaBBaABAzBAbAAABBAAaabAaAaBAbABaABaBAbbAaBbbAbbbbbBaAABaaBbabbbBABbbAAAbBbBBBaBBbAaAbAaABaaAbbaaAabaABBaAabbbABBbAabBAabaabABBBBABbBBaabbAaababBAbabbBaaAAabBBBBbBBBbBAAAABaaBBBAAbAaAAAABaabbaaAAbAaABaaaBbaAAaABBAAbbBAaBBAAaBBBaaaAaBAaBAABbBBBAABAbBAababBAbABABbbbaBbABaaaBbbaaAABBBAbAbAAAabbBBAbBaBBaAAbBABaABVbAABbbAbBaBbbBBAAabbBbAabBbaabbbbaBaaBBBabbaBbaaABaAABaAaaBbbBAaABAbaBAAbBabBABAaAAabbaaaBaabbbbaAABaAbBabBAbBAaaABaaABBAaAbBbBBaAABBAaBBAbABAbAbBAAbBbBAAaABbAaaABaabAabAAbabAAaAaBAbBaBBBBBbaJaabBAaaaBBbPbaBAbabAaAABaAaBaaAABBAbbbAbbaBAbbaaAbaBaaAaabAbabAbAbbAAbbBbBBbbbaaaaaaabAbbBBaBbBaBAAAAbBAaAaaBBaBaBAbBBAaBAaABbbAAbAabBbABBBaaaBBabbAAbABBbBAbbbabBAaBAAAbAbABAaaAABbbAAABBbAabaBBBAaAaBBaBBaAAaaBaAbABbBbabbabaBBabbBBAbbaABBaBaaBbaabaAabBaBbAAAabbAABBAbaAaaBbAAabBAbAbbbBAbaBAaabBAabbAAaBBAaBBBBAabBBAAbbAaAAAaAbbaAbbBABbAbabbbAaAAABbbbBaaaBBAbbBABbbABAwBAbBbabABaaaaBaAABbABABAABaAabaaBbBBaaBbaBAABbAAaaABaBbAbBaaAAbAABbBabbABBaabAbbbAbBAbaBAABABbBABAbaAAbAbbBabABBAbbAaababbaBAAaBBABBaBABABAbaaBAbABbbBgaAAAbaaBaBbBAAABabaBbBAAbabaBBBbaABbAAaAaaaaAAbbBbaBaAbaBabaBBAbaaaAabbAAaaabeAbAbBaAAaaaAabbBAaBabABaaabbbAABbabbAaabaAAaabAabbaaabbBbAbBBABAbBbbABabAbABaaAAAbaBAAbabaEAAbBBABAabAbabAAaAaAaBaAaaBaaAAaaAbbbabaaAABabAaAAGaAbAABaBBabbaBAbAabAaAaBBAabkbBBBbAABabbABBaBbAbBbAaAAbbAaBAaBbABaababABBBabbaBBrBAbbaBBBBbBabBaABBabbZbbaBBBaBABaaAAbbAABbABBAABabAbbbbBBbBBbbAaaBaabABAaBBaBbAnABBBbbBBAabbbbbabBaaaBBBAbAabbABaBBAaAbBbbbAAABBbRAAAAABBabAAbaabbbAAbBAAaAbBabAAbAbaabAaAABbbaBAbaBbaaabBaBbBVAAAaABABaaabAAabbBAbAbABBbabaabaabBaaAbAbbbaaBbbbBAAabbbBAaabBBbAaABbAAaaBBbaAbaBAbABaaBbbBaBaaabbBbaaBbbBBbbAabBaaBabAbaBABAbAabbAAaABAbbBBbaBaBabBaabAAabaAbbBaBbBAABBABabBbbBABabAABabAaaabBbABbaAaAbaaBABbaAbBbbbbaBbabBaBAaAbaabAbbabaBBaaaaBaAaaaABBBaBBbaaBbAAbaabBbaBBbAbbAABBABAAhBaBAbAaaAaaabBbABAAABBAbaAbbBAabBBaaABababAbbbBBBAaAaBbAaaBabBAAAAaaBBBBaaABbBbbBaAbabAbaAbAaaAabbBaABAabbBAAAbBAaaBbAAbbbABaBBAaaBAABABaAaaBaaAABAbBBaABABaAbAABAbbAaAaAbAaBBAAbbbbaaabbaaBbbrXbaBbaBAABBBbabbbAaAabAaABBBbABAAABbbaBBAAbbBBbBAAABaabAbaAbababbabaBaAbAaaAAabaBBBBAaBAABaBAabAaaAaBABBBaBbbaaABBaAABBAaabBAbAAAbbAAAaabAaabbbBbBAbBBYbBBaGbaBaBabaAAaBBBABbaBaaaBajbBABBBAakbbBBaaaBbBaBAbbAAAbBaAaAAabBaaabbababaaabAaaBBAbbbabaBabbBBbBbAbBBAbaAbbAABbbBbaaBBbABBbbbbABAbbBBBABAIbAaBBaBaaBABAABArBAaAAAbbBAABabbAMBaaBBBBAAaBBAaabbbbbAabaGbaABBaaaBBBbaAbBBAaBaabAaabaabAaABAbBBAabaBBbBbBbBabbABaaABbabAbBAAbAabaaaaaaABabBbbbAbBBABaABAaBABABbaBbABBbAaBBAAabbBbaaabABAabaAaBBaAaaaAbbbabbbbBaABBAABbBbeBAbaabBbBABBBBBaABaABbbAbBAaabABBbBbbaaaabaaBaABbAAbbAaAaAabbbBbaBbbBAabABaBbBbBaBAaAAAAbABBAAbBAAAaABaAaAAbABBbAabbBAAQbabbABbAAbbBBBaaaaAaAbABAbaaBbAabBAAaAAaAbBaaBBBaaaBaabaabBaababBAABBaaABBbbAbAABBbBbbABBAaBbbABAAabbAcaAaBbBaBbBABABaAaAbBbaBAabBaaaAaaaAABABBaaaaaBABAaababbbabBbAAbbBaAdaAaAaaAaBAAabaaBBbBbaAaBbabaaBbBbBbBAbAaAaBABABABBbBAAAbbBBaaAbaAaAAaBabAlBBBAaBaBBaBobBBBAABaABBBABBaaBBaBaABBaBbaBBAbAaAbaBBBabababAbBbBaaBbBAAAaABBBAAAbBaBBbAbBBbaABABBBBaaAbabAbbbaBAbABBbAAbAbabBbabaAAAbBAjbBAbaBbBAbABAAbabAbaBAAaAaAbBBbaAbAAaBAbaaAAaaAbaBaaaBBBBbbaaBAaBBabBaabbbbbbaAAAbBBAaaaaaBBbaaAABBAaAbaBbabBBBaBBAbABbbBABabbABbabbBbbaabaBAaAabBAAbAaaabBaBabbbaaBBbaBaBBABAABBbbAABbaBbbAAaAaaaaaBbbAabBbaBaaabBAabBaBaFBAabBrabaBbaABbABbabAbaVaAAAabBbaBBAAAbbaBBaaABabaabAaaABBBbBAAaabaBbaBBBAaAaBAbAAbBBAAbAaBBababbaBABbbABBBABbbBAABAaBbbBBaabAbbBAaBbbabbaBBAAbabbaBBBbaBAaBaaBbbBBbbBbAabBBbbbaabAAAABaBbBBABbBaBBBAaaAabABBbbBbbabABbAbbbaaAaAAbaABaaAAaaAbbaBBAAbabBbababBaAaBBBbABbbBaaaBabaBaABbaBabBAAaZABAbbaAaaBbBAbbABbBBabbBABaBBababABaaaBABabaBAbaABBaAaBabbbABbabAAABAAAFaABBBBaAAbBbAAbbBAABaaAbAbabaBAaAAabABBAAAAbbBABaabbAaBaBbbABBbAAbAbbABABaBAabbAbaBBBbAbABABbbaBAbaaABAabaaabAbaAaabAbAABBABaBbBBbBbbAAbAbabAaaBbBbBbaBBabBbBBAAabbbZaaAbaAABBAaBaBbabbBBbbAbAaBBABABbbaAaaAaBBBbaalbbaBAbBaAABBbbBbaaBbabaaaAaAbAaAbAbBaBbaBbaAAAbBbAbbABBaaAAAApaaAbAALBbBbBaABbbbaAbBAbAbabAbAbbAbabaabBBbabAaaBBbaaaABAaAabBAbAaaBAABBBAAbBAaaBBABABaBbAbAabBBAAabAbbbbaBAAbBBabbaAAabAbBbAABBaBbBAAbaBBAABbbABAaAbAbabBAaabAbbAabBABaAABAaAaBbBBBbaaAbABBaAAbaaaAAabBBBAbaaBAabBBABbbAaaABbaabaAbBbABbbAbBAABbBbbBBbBAbbBBBBbBbaBAaBAABABbAAaaaBBBBAaabBAbbbbabaaaaBBabaBBAbAoBBBBbaBaAbAAbAaBaababBABbbBaabABaAaBBAaabBBaAABbbAabababbabbbABbbBabaabAbaBAaaaaBaabBbbAbbaAAbaAAabAABbaBaABABbaBAbaabBAaBaBBBBBABbaAAbbaAAAabbbgaBABBAbabbbaAabAaaAgBBaAaaABABBBabBaBabbaabaAAaAABaBBABAbbaabABBAAaAbAbabBabBaBbaABbBBABBaAaabbbbBBBaAbAAbABAaAABABbbABbabBabaBABAaBBbAaBBBBbbAbBBAaaBBBaBABaAAAaabBbaBbbbabbABaaaaBaaBAbABaBabAbBAaAbaAABBaabaaBBaBaaabBaAabABbBaabAbABBBbBbabBBbaAaBBUbBaBBabBBaBaabAAbBbaBBaBBAbAaBbAAaAaAbbbababBababAAaAAabaBaBaaBbBbBaBaaaABABbBBAbaBaABBABBBaBbaBABBBBbabBBAaBAaabbBbaabbaABBabbBbAabbaBAABaBaAABabAAbaaBbaAbabBBbBbaaABBAAAbAABaBaabaAAAAABaabAAaBbaaBAaAaaaAbBaAaaBaBaAAaaBABAAraBBAabBaABbaBaBBAaAABaAAaAAbaaabBABbAabABbBabBbbbBaaBABBBabaBBBaaBaABaaaBbabBAABbaaBBbABaaaAbaBbAAaAaaaaBaaBAAaAabbbBBqBbBaaBbaBBBBAAabbAbaVbaaBBbBabBbabbabAAaABaaaAABabBbbbBBaABabbabbABAaABaBaAAbBaAaAaaABabbaBBabaBAMBbBBABaAaAbbAbbAABBaABAaBAbBABbBABByaabbAbBABAAbBAabaaAbAabbbBaBbAbabAAbbAbbbbaAABabaAAAAaBabBBbAbaaaBaaaabMBBAbAbabAeAaBAbBaBababbADBaabABbAaAabAabBbaaaaAbbBBBaAABaBAbBBABABbbbAaBABAbbBBabBAbbBBBBAbBbbbAbAbaABaBDbBabBBBbAbaABababBbaBBBbbBBAAaAABBBABBaaBBBaAaBAaBbbbBBaBaaAbBbbAaBbaAaaABAaBbAAaABAbABAABabbbabBAaaBaBaAaabBAABAabaaAAbbyaabAbAaAaBaAaaabaAbBBAabaAAbbAbABbBbABABAaAabaaBabBabbabBabAbbaAbBbabbAbAaBaaaAaBBBBabbBbaabbabAaaBBabbABbaabbAabAabbBaBBBabaaAABbAbabbBABaBaAbbabbBBbBBbAAaAbbAaBbBbbBBaBAABBBaABAaAabaBaAABaAbaAaBbbbBbbBAaBBAAAaAaAaBAbBBBbabbABaAbWaaabAaBBBbAABBBAaBbAaababaLAbAaABAaBbbBBbbAaBbBAaAAbbAabaBabAAaABAbbaabxbbBababBBbbBbababBBaBabBbBbbBABBABABbbBBaAbBbABBBBABbBABAAaBBaaBBAAbbBBbBaBaAaBBaabBabBAbbAABbAABbAaAabbBbbBabbaAaBAaAaBbAbBbbBaBaAaBAbBAAaBBBaBbGAABAABaABaBBAbAAaAABABaBaAABbBaaABAbBaAABaBAbBAaBbaBbBbBaBABAaaBAAaaBBaABBABAaaaAbAbAABBBBBaABbBbBaBBbaBbABBAaBaBYaBaAbBAbaAaaBBbAbaABBbaABABaBaBAbbBAAAaBBaBaabAaaBBbbBbBBbBabBaaaAbAaBAbaBaBBbBAbBBBbabbbBAbbaaBAaabBbBAbAabbBBbbabbBAabbaaAbaabAAabbBAbABaaaaBbbababAaBBBbbabBAPAaaAbbaAAbAAaAbaBAAAbbABbabAAAABBbbBbbbABbBAaAbbaaBbBbAaaAaaBABaabBbaaBabABbABBBbBAbbBBPBBaAAaabAaaaBaaBbABAbbBaBAaBbAaaBabbaaBBBBBBbbbbbBBbAabbABAAbBAbBAabaAbBAbAaAbbbBAAAAbbbABBbaabaABaaAbBAbBaAbBaAbbbSAbaABbBAAABaABBBaaAbABbBBbbABBaAAbaBAaaABBBaabbBbABaaabAABBBABaAABaBbaaaaaAaBbBAaaBbAbABAABBabBbbAbbBaaAaBBaabbbaBBbbBbaIbbaAABBBBbAbBbaBAabAAaBaaAaAaaAAAAbABAaAABAbBBbaaabababaAAaBbBAbBbbBaaBaBBbbBaaaBABbBaAabBAabbAaBAAbbaaaabaBAbbabbBbBABbAbAAAAbbabaAbAbAaBaabbaaBaAaBbBAaaBABAAaAbIbaABAbBaabBBaBBABbABAbaBarBAabbBBABbbbAbAAAAbAAbBabbAAababAAAbBaaaABBAaAABbaBaAbabBabAaAAbBaAbBAAaAABAAbBaBBAAAabAabbAAaaaBBbaABAABBBBBaABAabABbbBbBbABBAaaBAabBBaaBAbBaaaAABbaaabaBaBbBaaAAabaABabAABabBBABaaBaAbbabaBaAaAAAaabAbAbbAAbaaBbAaaBBbbAbBBabbaabaaabbabbabbBBbbABaBaaAAaBBaaAbbbbabAAbbBaAABbBbbAbABAAaBbBbABaBABABABaAAABbABbaaaabBaABaAbbbbaAaABAAaAbAABbaaAabBabaBbbaaaabBAaAabBBaABbBbBbBbABBbAbBABbbabBAAaAaAaaBAAaAbaaBbBaBAbAAaabBBBAbbbaaBaabpBbAbAbAaaBbABaabBbaaBaBaaBbAbAaABAABBbAabaaAbabBbbbaBBaABaBaAbbbbBaBaAbaBBAbAAABIaaBBAaBbaBBrbaaAbabAbABaaABabAAaaABaabABBbAAbBbBAbbAbAbBbbbbbBbaAbbAAabbABaaAbBABBabaBaAAAbbBAbAABaaaABabbaabBaBBbbbbbbAAbABbbAabaaaaBBAaBABAaabbABAbABAABbBBbaABaBBBObaaababAbBbAbbbbbbbBaBAAaaBBAbAaAAbBABaAAaBbbbAaaBbBBabAAABBabbAabbaBaAAAaBBBbbBBbAbaBBAbBbabAAaaBaBbBbaAABaAbbBABbBBABbbAbbbAbbbbaaaAbbabAbabaBBaaaabAAAaAbBABABAaBBbbaabaABABaAAAaAABABBbBBBBAaAbBBBBAaAaaaaBbaAAbaaBBBaaaaBBBaBWAabaBbBBabaaBBAbaaAabBaaAAAabbaBABBaAaabbABabAbBBaAbaAbBabbbBABaBBABaabBbaAbBbbAaABaaBbbbAAabBbAAbaAAAaBbaBAAaABABbABbBAAAaAbBaABABbAaabBaBAaABABbBAAbabAbbAaBBBBabAabbABAaaABAbaaBaaABAAbaBabAbBBaBbBaAbaaBBaaabaabAaaBAAABbaaaaBAabBbAbbAaBaaaaaBBBbbabAbbBaBBAabBABbAbaAAABaBaaababbBBBbabbaBaABbABbBBBBBAABBAAAaAbBBAbaAabAbBBABABBaaaBbbbABabbBAAbAabaBAbAABAaaAabaBabaBbAAbBbbaaAAAFaBaaBABAAbabaaabBaaBAbAbBabABBaAAABaaAAABaAbBaBABAbpBBAbabAabBAaBAAAaBbaAaAPBAaAabbBAbaaaAbaBBbbABaaBbbaBAbaAABAabaAbabbbBaaBaaaBAAaaBBaABaaaBBaBbBBbBbbgbabbbBabAbaAbbAABBababBbbBAbAAabaBAaABbaAAAABbbEaaBabbBBbbaaAbBBaAABBbaAAaBBbabaaBaAabBAababbabbaaAbBABbAAbBbAabaBAAbBabSBAabaBaaabAbbaBaaBbBbAbBbBBBAaBBAbAAbABAbABbbAaABaRABbaBbbbaABbBbBAaBbBaBdBbabBBababAAABBaabBAaAbBAAbabBbabBBaBaABaaaAAaBaABABAbBaBabBBbbABBaAabaBbaBbbaaAaABAbbABBAbabaABAaABaAAaAababaABAABAbaBbbabaaBABbBbAaBAabbABBaabBAaBbabBaBAABbBAabaAAebAbaBaBbDBaAABAAaBbAAbABaAaAbBAbaaaAababaAaaUbBaBbABaABABaaaBbAaabBABaBAabaaaAABBAabbabBAbAAabBaABbaAaaaAbaABaBAaBBbBabaaaaaBAAaaBabbbAaBAAaaBaBBaAaabbBaBbABAbABaABBabbbBaabBBbBBBBABbAbabbaAbBbBBBBbbAAbAAbABBbbAbBBbAABBbbbaaAaAabbBBbAbbBBBBbAabaAbBBaaaaBbAAabBbbbaPABBaAAABabAAAaABbbAbBABBAwBbaAAAaBaAAAAAAAABBBBbBbbBaabBABABBABbAaaAabBbbbBbabaaBBBBBAabbABaAbbBBabAAbAAaaBAAbAaAAaBbABbBAbaaBbaBbbAABAaaaAAaABAbBabaABBaBBBaBbQaaBAbABBABBBaBbBLABBBbabbBbAbAAbaBaaBaaBBABbaBaABBbabbbaAaBBaBAbBAbAAbBbBAbBaAAybBBbaBbbbBAAABaAbAaBBbbABaabbabbAABbbBbAaAaaBbbABBAaAbbaBAbBaabAAAbbaAAbBBaBBABBbBBaAAaAAAabBBaAABbbBBabBaaaAbAaabbAbaabbAbBaBaaBBAbBaBAAAAAABbABaBAAaAaAaAAaabbaaAaAbbaaAabBbBbBabbAAaBoabAAaAasabAaAabBBBbABBABbabaAbABabBaabaABbbABaBbAABAAAaBebAAbAABabBabABbaBbaabAABbABabBAbBaAABbbAbAAABAaBAbaAAbaAAbaaAbaAABbaBbbBbAABAbbBaaAbbABBAbaAaabAabaAAbaBaaaAbAaBbaabaABbaBbbAbAABbBBBBAbbABBaBbaAbbaABbaaBABABbAaBbAABAAaBBBbBbAAbbaABBAAABbabABbBBABAAbbBAbaabBBABAabbaaabBBbBBBbbBbbAABaaaBAaaaaAAabAbAAbaaaBabAAaaabBbAbAcbAAaaaAAaBBbAbaAbabbBAaawABBBBAaBAbbBBAAABabaaAbBaAbabBbbBBAaaaaaAQbbAaBAaaBAAbAaBxBAaBBabBbBaAaBABaABABBABbBAbAbBbAaBabbAAAbbbBAbBBABabbAaAaaBBabBBbAAAAbaabbBbabBaAAAaAAabBaBaBbBBAabaBBaabBBBBBABbaaBbbAbbbaAbbbAbbBaAAbAbabaBaaAabBABAbbAaABBBaabbbbAaaaabAAbabAbbAbaBaAAAaBaaaBAAaaaAbbAAaABaAABHaAabAabABaAAababBbAbAbaAbbBbAAAAABaAAaAbbBAaABbBbBAAcbbAbBBbAbAaXaBAaBAAAAaAaaAabaAbaBBAABbabbbabbAbAaAbbabBbaabbBaaBBabAbAbbBBBBAbABBAABaAbbbbaBAabAabAaDbABAaBbBBaBBbBABBAaAbbaaAbBaaBbBBAaaabbaabbBbaBabBbBAAABBbbbBABbBAaBbBbbBabBabABAaBAAbaAbabBaaAABaJBBBABBBAbAbBABBBaaBaAAaSbaBAbaWaAAAabaBAAbAbAbbbaBbAaBABaAaaABAAabaBBBBBBAAaBbBbaaAbBbAAAbABabABaAbaABbBAbaabaaAbaaBbaaBaABAAaaAaBabaBBAaBBAaBaaAAABaBbBAAbBBBaababBABAaBbAbaaBaaBBAaAabbaABaaBbAaaaaBAaBAabbBBbBbBbAAAbbaAbbbBbBbAaaBbBaBBbAAaABbbBbabbAAbbAbaaaAAaABAaBaaabBAbbAaAAbaABAabBbBBBAAbbbbBbaaaaAbabbBBBAbABBaaAbaAAabaBAbAaaBaBaAAABaBbabBbBAbAAAbaBaAbabaasbabaaAbaaabbaBBaaBABBAaabBbbAaaaABAAAaBabaAAabbBaBBBBaabbAbaABbBbAbAabbAbaBabBabBAaAbbaBaAAbabbBAaaAaaBaBAaAaBaAAbabAAAAabBbAaBAbABAbaABbABbBAABBAbBABaabAAaBAabABaaBBbbbbabAAabABAbBabaABbabaaBAabBAAbAabBbbABAbBAaAbaAAbAaabbAbbAABAABbaBaAbbbabBAaaaabbBBBaBaBbAabABabBBbBABbabAbAaaAbaAAbaAbBaaBbABbbaAbBABBABBBBbbaBbbAAbBaAAAaAaaaAaAAAaBBBBaaaABBBBABabaBAaBAAaBBbaaaBbAbAabaBbABAbaBbAAABAAabbBAaabBababbAbBAAbabbaBbBaBaAbbABabBBaaabAABAAAAAbbbbBBBBAAAaaBABbBAbaAAABBBBBAabaAbBBbBbaaBbaBBbbAAabaAbBAAAbBBbAAAABAabBaAabBAabbabbaaaaBaabBBaaaaAAAaAABABbbAaBbabbaAbaAAbBABbBaBbaAAAaBbBbBaabBbBaAAabaBaBBaaBAABaaaBBBaaAABBabbbbBbaBaBbBAaBBbbbAAaBaABBaBbbBAabBABABBBAAbAAaBaBBAaBBaABbbbaBaAaaAaAABaaAAaAAbBBabABBaaBBBABbAAAAabAbbaABbbbBBAbaaBbAAAAaAbABbabAaABbbbBbBAabbAaAAbAbbbbaAaaBaBbbBBAAaBaabAAbBbaAaAAaABaBAAaAAaaBAbbAAaaBbbabaaAAAAAaAbBbBAaBabaAbbABbBabBAAaaAbbABbaBnbBabtbBAbabBAaBaBABAbaaaaaAAaBbBBbaAbaBbbbAABBaBbBBAaBAABbBBAabBABAaBAbaBAaaBbBBAAbbababAAAAababaBAaAAbBBAAaaabbbbAaaaAbAbbbAabAaaaAAbaabaaaaBAbAaababbBbBBaABBBbBBBabaabaBaAAbAaBaAAabABBabAaBBbAAbbaaBbbbBbaBBaaaBAaAAaAabbbaABAbbbbabAAABbBBBBBbbAABBAaAaAabBABabbAAbbAabABAAaBbABbbbAaBABbABaAbbABaAaabBbABAAabAbaAaaAbAaaBBaabbaabbbBaaaABBbAababbBaBBaBABbBABABbbAaaaAbbBBABaAbAabbaAbbABaaBbBcaBbAbaabAABAbBaBbBaABbABBBbBbbababaAbabBABAAaabbAbABAbaaABbBbbBbbBAbbBbAAbbAaaaBbabAAABaBBbBAaBAbBaBAabBAAbbaBAABbbBbbBAAaBbBbBaBaabAakBBBaaBaaaaaaQabbbABaBbAaaAAAAbAabAbaBaaAaaAAbbaaaaAAbAAaAbbaaBaAaabbbAbBBaBABAABAbBBaBaAbaAAaaANbBAbxAaBbAbaABBbBBaabAABABBaBAbABAbaaBBaaBbAABbbbbAABBaabABaABAaBABBBABBbBABBABbABBAaaABbBBBBBbbbBabbAABBAAaaBBaAaABAbBBaBbBBBaAbaBBBBBbaABBAaABBBbbbBabaaBBAAaaABbBbbAbBBBbaAAAabbabAAaABbaAbbBbaaABAbBaaBbaAaAbbabaBABBBbbbbAbHBaBabaAabAbbBbbbbaBBaAABBBbAaAABABAABaAAAaAaBbAABBAbBbaBAaaAABAbBBABbAaBabbaABAABabABAAABaAaBAaAaABababbbBABBbaBBbBbaAbABbBbaABbAbaaaaBbBBNbBABABAAaBabBBBBbBBaBbAbabaabAbApAbabbaAbbAabABABBBBAABBAABaBbAaABbABBBbaBbbBAbBBaABBAabAbABBBaBAABBBbBaBBbBBBbAbaBBAbbAbbabbBBbaBabAdBbbbbabBABAbBBAAbBBAAaaBaaAbbbBaabAaABbabBbaaBAbbaAbbBbbbabABabababBaBbbBBabbAbBBbbbBbBBaBBAAbAabBAABaaaBBaabbABBaBaAabBbAbabbabaabBbBAABaabaAbBbbaabBbBABbABaBaBABaAaBBaBbaabAAAAbBBaAAAbAbbAABtABaKBBAaabbaabbAaBaBAABABAbABBBbbBAbabAAbbbBaaAbABBAAaaABbbaAAbbAbbaAbbaaaBABbbBBaaBbabAAbBbBbBAAAbbBBABbaBAAaAaBAAbaAAAABbbAbbabhbaBbabBbBBaBaBbAaBbabAABAbAAabbAbaAAaabaABaaBbaAbAAbaaBAbABAbABAabABaAbaBbABBbBaBaAaBAbaBBbAAaBbAAbAAAABBbAaBABaaAABAABAbBbBaAAbBaAAaaAABbBBABBBBaABBAAAbABaAaBaabaaaabbbBbBaBbAAABBAAbbbBbbBbAbAAbBBaBxBebbaaAAbBAbBAbAbbAaaabAbaanabaaabBAbBaAAbBBBbBaaAAbbBAaAaBaabAbaaAAABBbbbAAabaaAbabaaAaAABabaBaBAAbbbBabBabbbAAaabbaBbbbaBBbbBaBAAAAbBabaBabbbbaaaBbbaBABbaBAaABABBaBBAbavaaBbbaaaAAAabbaBAAaBABBBaBABzaaBabABaabBaAbbBABBbAAbbAAaAAbbAaBbAABBaBBaBAbAbaAaBAAAaBabAABBaaBBABAaAAAbbbBBaAaAbbbABBAbbABAbBbAAbbAAbBBbAAAaAABbbaBAabaaaAababBAbBbAIBaaaAbBAAaBbAaabbAbbaAaABaaBbbBABBBBBAAbBBbBbbAbABBBABaBABAbBaabaBabBAAbBBabABbAaabaBbBABbbbBaAbBbAaAAbAAbABbBbBaAaBbaaaabBbAaBBAAbAbBBaBBAaabaabbAbBabAbaABAbabBAbaBBaaIAAaBBaABbbAbbBAABbBaabaAabBAABABAaBBAbAbAaABabBbBabbAbaaaaaBbaaBBbaAAbABBbbaAABbbbAbAAbABBbABbBbbbaaabAaAaBBabBaBAaAZBbbaAAABAbABBBaABBbBaBaABAaaBBabABBbABbaaaAaBABAabaAABbbbbabBAbbAAAbBAbbAbaABbABAAbaABAbaabaBBabBaABabbaBbbbBAaaAAabBbAaabBAbbBBABbaBbBAAAaAbAAbBBABabBaBbaAAaBaAAaAAABAaBAAAbaabaBaaBaBaBbaBAabbaaUAbaabABbaaAbAAABBAakbAAAbbAbBabbbbaaABAaaaaaXAbabbaABBaaAABAaBBABbABaBaaAbbbabBabaaAabbabAABBsAAABBbBBaabBBaAbbaBbBBbABAbBaBBBaAAAAaABBBababBBbbbAABAaaaBBbbABAbbbAaaAAabBBbbAbBBAaaBabAabaaaabbAbababbABbBaBBabbAabaBBAbBBAbAbBBAabABBabAAabBAbBBaBAbbaAbAabbBaAAABbaAaAaBaAAAABABaBAaaAabAaaBAaaAbbaBaaBababbbAabaabABbbaBbabbbBBbBBAbaBaAAbaAabBAbAaAbaaAaAAAaaAbBaBbABBbaaBBAAABaABBbBAabnaABbBAbaBAAABABaBABAbaAAbaBaaAABbBaBBBbBABaBaaqAbbAaaBbaAbbbbBAAbbbBBAAbbaaAABBbBaabbAbAAbaaaBBAbabbBbaaBAaAbAaAbAABBbAAAaAabaAcAABAAbBabAbBaabABBbAabbBaBaBbAaaABaaBabaAABbbaabbBBBAbaBbBabBABbbABabABabaABaAbdaAbbaAabaBBABAaBBabbbaaBaabbBBABabABAbABBaAAbbAabaBbbBaaBbbbbaAAbAASabAbaAbABBbBABbBbbaABABAaBAbbbaAbaABAbbbaABABaabAAAbaabBbBAbbBbAbaBbaAaBaBaAAAaaaABaaAAaABAaaabAbBbAaAbABbBabBBAbbbbAABaAAABbBbAAaBBabBaAbbAAAABBABAbBaBAABBBaababbAAAAaBaaBAABAbBABBabBaaBABaBABaBaaaaBaBAbbabBbBBbBBaBaaBbAaBabaBaBaabbaBbABbBAAabBbBAbDBaBaAAAbaBaaABBBBaBbabbvBBaobAbAbmABaaabABbbaAbaababBAAbAAAbBbABBbAbaaBAABAAbBbBbBaBbAbaBAbbabaaBbAAbbbbAAAaAbbABABbAbBAbaBBAaBAAaBBaAbbbAbbBabbbABbaAbbBAaBaABabBaBABaAaabBAABBBbbbbBBBbBbaAabbaAbBbBbbbBbbbbaABAAbbaBaABAaaaaAaBbbBBaBbbbBaaaaBBbbaABABaaaABBBbabbBbbBBBbAAAaBBaabAbbBBabBbaAABBbbAbBbbAAAbaAbaaaabBbBaBBaaBAAABababaBBbbaaBBAAbBbbRbaBAaABBbBBBbAbAbbBbBABaAaAbAbbabbBBbbABAaABbaAabABaaBBbAaAaBBBBbABAbBaabaBBbABbbaAaABBAaBbAAbaBbBABbAabaAbbbABabBABABbbbBabBaBBbabBaaaABbaAAbBaaaaAaBbbAaabaBbbBBaBABbABBABABbaabBabaabBAAaBbABBAabAAaAkBabAAaaAabAbBaaaafaAAaBBBBaaBbAaBbaAbBAabaBBbaaABVaBaabAAAAaaABBBbaAAAaaaBBbbAaaaAaabaBbAbbBbBaaBBAbBabbBBAAAbabaAaaBbAaAAbBaAbAaaBaaBbaAaaAABbaABBBBaaAaBABaaAAaBaBBAABabaAbAaAAAbAbbAABaBAAAbbbavbABAAbbaBAaBBabAaaaabAaBbAbABBabAAaAAfabABBABaaabBBBAbBBaBAabBBbbbBaBbbBAAbbBAaaaBAababBAAaBBAaBBaAbbBBaAbABAabbaAaBbabbaabBaaaaUBaBABAabaBBAABABAaBBBBAAABBAAabbBBbaAaBbAAABbbaaBbbBaAABAbAbAabbAbaaBbAaBbAbabbAAbABbbaBaAbbaAbbBaaAbbBBBbAAaAAaAbbaBaBaAbbbBaqBBAaAabBbBbAbbBBAaAAAaBBaBAAAAaaabBABbaBAbABAABBabbbBBBABbAaaAbabbabAbBBbABABBbAAAABbbAaabbAAAAAabBaaABAaAAaaBBabBaaABbBBbBBBAabABbAAAABaAAbBbBbaAbaAAABBAaAabbAABAAaBBaababABbabaaabaBaBAaBbABbBFBaABabaabBbAABAbBbbBABbbaaBaBaAbbAAaBaABBbbbBaBbbAAsAAaAAAaABbaAAaabaBAbbaAbbBBAaabbAabbBAabAAbBaAbbaAaabaBAbAbBBbBAaaaaAabAbaabbBbBbAABababAaaAaBBBABBbbBBBBaABaABBAaaABBAabBAAbAABbAaAaabBbAAAbbAaaaABAbaAaABaAbBaAaBBBAabbaaBRbaabBBAAaBAABaBabAObAbaaaAAabaabBBbABBBBAbbBaBbBAbbBBbBABbaaaBabbbabBbbbbAaAbBBabbaaaaaBabbAaBaBAbaAabbbBBAaAAbBaBbAbbAaaBaBbAbBAbbbAAABaaAaaaAaABBBAaaBBbABBABbbbBAbbaaAABBAAbAaAabAABBAAbaAAaBbBbaBBaAabbaAAAbAAabbAAabbBbBAababABAbaabABabbBBBbAAabaaaAabAbaABAaBAaABAbbABaBAbAbBAbaBqAbbaBBbBAABbAbbabbAaaAABAaBBaaBbBaAABbAaBbBaaAbaBaABAABbABAaBaBabaaaaasAAAAAaaAbbABABAabaAaAaaBBBBbAbbAbaBaaAAAbBABAbAABBabaaBbAbbbabbAaBBBABBABBBaAAbbBAAaAAAbABaBBbFBAabAaaAAaAabBbbAABBaabbbAAbBAbBAaBAbaaBBBbAAbaBBBbBbbAAaaaABabAabaAbBaaBBAbaAbbaaAABaBBBBAbAaBbaIABbBAaBaaBAAGaBAbeBBbaAAbAaAbAaBBbBBBbAbbaBbBbAbbbAAaBbBAbABbAaBAAbabBbbBAABAaBAabBBBbBaBAaBbBbzBBAAbBaAaBBbBaAAaBAbbAAabBaAaaAbAbbaaAaAABaaBaAAbaaAbaBabbBAaABAaBaaaBaAABbaBbaAabBABBbBBBBaaAabBabAABaBbabABAbbABbBaABAABAAaAbABAbaBbAaaBbAbaBAbAbBbaBbBAbaaaABabaabBaaaBbAAbBbaBBAABbAbaaabAAAaAabBBaaBabbaBBBabbabbAABaaAAaabBBabAabABAAAbBBAAAaabAAAAaabbBbabBaAbbBbBAbaBBbBAbbaAAbAABaBBBbabbbbbaabbBAbAAAAabaaaaBababaBbBbbAaBAaBaaaBbbbaBAbAAbWbAbaAaaABABbBbbabBaabAVABbBbbAbBBABaAbaAaaaBBABbAAAaaaBAAABaBaABbBbaABaABbABBBaabaAAbBbaAAaaabbAAAbAabbaaaAAABAAaabAABBBbaaabAABAbyBbBAaAbBBBBBbAaAbAbBAABAaAAaaBaAbABBbAAABABBabAbaBABBAAaABBbbbBABAbaABBbbAAaaaAbbaAbBpaAAAAabBabbaaBbbABBAAbABaBaAAbAAaaabbABABBaABBbAAaaBAAAbBaBBbAababaaABAABABBbABaBABbbaBAaABAbAbbabbAAaBabbaAbbbbBBaAaBAAaBbABbAAAAAbbbbAabbbBBaAAAAababbABAaabaAbBAbbAabbaABaAbbaAaAAbAbaAAbBABBBaawABBBabAABaaaaAABaBabAbAuAAAAAAAabBabABaBDAAaAaababBbaaBAAabBabBBaabaBbaaBbbAAbaBaBbAAbbbaaAbbaaBbBaAabaaaBBBABaaBAbABBaBbabbaabbBaaabBaAaBbABaBBAaaBbBaBabbabaBaAbaaAAbABbAbaBabaAAbAbaCaaaaAaaBABbbaBABAAaaaabBbbBaaAbbaBbAABAbaBAaBAaABAAbBabrBBBBaAabAabAabaBAaBBABbABAaaBbaABbBAbbAbbABAbbBABaaABbABAbAbbBabAabbbaaabaAABbAABabbbbaAaaaBBbAaAbBABAbBaABABDabAbAAbbbbBBbAaAABBaAababaABaaaBbbABAabbBBbAAaBAABBabBAaBabAAaBbBaBAaaABbBBABaaaabaBBBABBabBbABbaAAbAAABaBBaAaaBaABBabbBBbabbABaabBaBAaaaAabAbBBABBbabaBbaABaaAAABBBAbBAbaBbABBBbbaaABAabaABAABAaBBaAaABBBAAAbAaabBAbabaBBAabAbbabBBBaaaBBaabBabbaaAaBAAabbBaAaabaBaABAaBAaaBBbbbbAAAabAabdAbaBBABAAbaAaAAbAaAAbAAaAAABaBaBBAbBbBaBABBAaaaBABaBABjbbABBaBaBBAAabBABBaAabbbAaBBbaABbBbabAaAbBbaBaBbbABBaaakaAAbAbbaaBbbabBbbaaBAABAbBAbaBBbbBbABAaAABbaboaBBAAbaBbaBbbbaaBabbbabaAbABbBABBBaBBaABBaBAbbbAAAbAAaBAABAAbaaBbaaaBAbbaBBaAaabBbaAAAbbaADBaBAbAABbBAABaAaaaABbBaaaAABBAbBAbbBaABABbaBbbaaaBAaBBbBaaBaAaABabBaAaABAbBBbBABBbaBAAaaabBbbaAAAbBBAabABbBBAbbbBaBAabAbBbbBABBBaaaaabBAbaBaaaABBBAaabbBABABbAAbabAbabbBabbbAbaAaBBBaaBBbBBBaBABBabABAaBbBABBabbbbbaAABbAaaabaBBbBbBAAbbBaBabbBBbaaaQBaABBbAaaBBABBAaaBABbBbaaBBaaabbBabAbAaBbbAaAaBabAAbbBabbAaaaabBbabAbabBbBBAaBABAABBbbaabAbaBbbAaOAbAbAbABBAbaBbbaaBBABbbbABbABAAbABfaBABBAbAbbAAbAabbbbBAaBAbbaBBbAAAaBBAaaaaAbaBbbbAAaAaBaAaaAbbBAABBBBAbBBBAaBaBaBaAbbbAbaaaBbBWbBaBABaAbbaBbbabbbbbbaAAaAaaabAaBAAaaaAAbAABbaabbBbbbAbABaaABAAAAABbaaAaBBbaaaBbabBBabbBaBBaAbAbbbBAAbBBAbAAbaBBbABBAAAbBaaAAbABabAbbbbaBabaBAbbABaAABaBAABAaAAABaBBaBBaAabbBBbAaAAbABBbABAbBbABaAaABbAbBbbaBAaAAbABBBAaBbBbabABAaaAAbBbBbABbaaBAAAaAbbaaabABBBAbBaBAaaaBBaABbBaaababbAbbBbabaBAAbAabBBaBbbabBaabBABAaBaAbaBBBbAAbBbaABabaabAabAbaabBbbbABbabbaBAABBaBbabaBaBABAABAAaAFBABbAaABbABBbabBBBBaBbBAababaBaBbBabAbaBbAbaaaAbbAbaabbbbbaABBaBABABBaAAbaaBAABABAAaAaABaaBaAAAaBaabAabBBbbAbBBAaAAbaAabBBAbbaaAAaAaAAAAABABbBbAABaAaABraAbAaAAaBABBbAAAbABAbBbaBaaBbaAAbaBbBAABbBABbBbabABbAaaBAaaABbAbAaBbBaBBBaabAaAAbABaBabaBBBBBaABbBABbBbaBBBbBBBAbbabAAbbBbABBbAABabBAAaBaBbAAbBAABAAbabBzbbaaaAAaBBAbBbbaaAbWABabBABAbaBbabAaBAbBAbABAbaBaABBBBAbbAaaBBbABAaBbBAbbBBbBbaaBaBABBABababABaAbABBAAgABABaabBbaBaBbABBaAababBbaAbBbABBAABBBaBaABaaBAabaABBbbbbBABAaAbaAaaAAaabBBabAbbBABabBabaBBaABBbabbabABbaAABAbbAAAAbAbaBAbBbbabbaaAaBABAaaabBbBbAbBbaBaaBaAaBbABBBaaabABaAaabAaAAAABabbaaBaBBaaaBAbbBaBabbaBabbabAAbBaAbAaAAabaAAbaAaABAabBabaAbBBbBaabbAAaabABbAAABBAbaBBaBaBbbBABaBabBaaBBbBbAaBBAAaaBBBbAABaABabABaaAaaAAbBaAAbBbaAbAAZAAbaABABaAaAABAbABaaBaaBBBAaaBAbAaBBaAAaAaBBAABaBBbbBbABbaBbaBbbaAaaBBAAABbBBBaababbabBbbbAbBaababbABAbbBabbBbAbaBBBaaaBBbaabAaBaaaAaAaBBAbBaaBBBbAaaaaBababABAbbaAaaaBAabBaaaBBbBABbaaAABBbaababAaABbAbaabbAbabBabbAaAAAbBaBAbaBAAAbbaBBAbBBBbabAabbBABAbAAabAaBBbAaBaaabBAAaaBbabbbaAAaAbaababABbaAAbbbaBAbbBaAAaBBabbBAbbaABAAaAAABbaBbAbabBbBbBaAaAaaBAAAaAbBAaABbABAAAbbAAbBBAbaAbbABBaAABbAbaaaAAAaBaAaaBbBarAABaBbbBaBAAbAbAbbbBBBBBaAAbBaAaAAAaAAAbbAAbaBBaaBAbAABBAbbaBbbaBaBbaaabBBBaABaaabBaabaAAABBbAbbbABBabbbABAAAAAbbABbBAABaABbaBBBBbBBbBAAbrabBBaaAbAaABbbAabaBAAbAabAaBaaABABBAbbABABaBAbBBbbbbbbbaaBabAAaAbbbBaBaABbbbaBaABBbaBAbbABBBAbaAbbaabbbbbAaAbbaBBbbAabBbAabaBAnAbBaBBABAABbbABAabbBBAaabbAaBbBaBbBaBBBaAaABbaABAababbababaaaabBAaaaabaAabbBbBBbAAabbaAaABbbabaaABABaAbabaBbBBBaAbBAbbbaaBBbAaABbBbbaBAabABabAbabBbaBBaBaabBAbabaaaBaAaBAABBBbAABBAabbBABAabbaBABabBBAbBaBbaBbabABABbBbaAAaBaBaAbaAAbBBaabBABAbBBBBaabAbBBBABBAaabABbAAABBbbBBBbBabaABaBAbABaBbBbBaaBAAbabbBAAaABAAaaBaAbAAaBBAbBabaBBbAAaAaababAbBBAAAABabBaababAABBAubabaaBAAbBabABbBABAAAbABBBbaAABBBAAaBabbaBBBaaaaBBBbbbBBBbABAbBbbBaaaaabABBAAaaaBABBbBbbBBBABaaAbbaBaaBAbBAAAaBabbbAbaBABBAbBAbaabbAAbbabBaaaBBAABBaAABAbBaBbBabaBBBabAbaaaaabAaaABABBaBaaaabBBaaAAAaAbBAABbBaBBBabbBBAbBbAbAAAAbBBbBabBaaBaBbbBabbBBaABBABBAaaabAbbablaAABbaBbAaaABaaBBaBbBBAAaAAbBbbaAAAbAaBabBaAABAABBAbaBABAaAAABabaBbBABAaabAaBaAABAabaabbbbbbbbbBAAAbaAAbbbabAaABBBbAabBABbbAAaBBbABaBbaaaaAaaBabaBbaaABbAaBABBAABaaABbaBABaBbBBbaAAbaaAAabAabbaBbBBbABbBAbaaAabbbAAAAAbabBaAAabAbBaBbaAaaAABBabBAbAAbbBabBaaBbbBAabbBaBbbaBaaAABAABBBbbABbaaBbbaABafBaBaBAaaaaBbAAbaABBbAbBbBbaBaBbaBaabBbabABaBBBbBbbbabABaABBBBBbBaAbBbbAAAbBAaBbAAAABabAaaaAbaaABABBAabBAabbbBabaaABaaAaABAaABbabBaaAaBbBaaabAbbbbbabaBBaabaaBaaBaAbAAbababBbABaaabABaaAbAbbBAaAaAaAAbAbBBBBbbBaBbAaAbvBBABBtBBAAABBbbabBAbaaAbAABABbBaaaEAAbabbaaabbGAAabABBAAAAAbbbAbbbbbbBbBaBaBBbaBbbBaBbbaAaBaAaaBBaaBAAaBBaaaabAAaAaBBAaBbBAabBABABBABBaAAJbabbaaabBBBbbBTbAbbAbAABBBAABBAbaaAbAaAAABABabbaaaBAAbaaaBbBBABbabbaaAbbaBBbbAAAAaBAaaABbaAAaAbBaaAbbaAAbBaAaBBaBbBbBbbbBaAbBBaBaAABBaBBHbAbaababBababABabaBBaAAabaaAaABaBaaABaABBBbBbaBabABbbAABbaBabbBAabAbaAbbaBbBBAbaAaaabBaAAaAbBaAbbAAArBBBAbaAbAAAbBbAabBbAAbAbBABaAbBbbAaaabAAaBbABBbAAAABaBMAAbbaAbBBAbbAabABbbAbBbaBbABAUAaAAabBZBBbbbBabBbbBaAaABAAbbAAbaAbbAaabbaBbbAbAaabAAbbBtBbabbbbBAAAAAaaBbBAAAabLabBBaBbaabABbaAbaBABaBAAABAAaaBaAbaBBABaAbBbaabaaBBbabaABAaBbabBAAbbAaAaaAaBaabBBbaAaAAabBbBBABBbBBabBAAAbBaAbBaaBBbbabBbbAbAAAaaBaAbbAAAabaaBAaBaBAbaaBAbaaBbbABABABabBBBbABBaDaAAaBABABAAaAAAaABBBAabaABaababBaBaBBbAaaBAbbAABaaaaaAaBBaBbbabbBabaBBBbbBBBABbbaXbABAbBbABbBAbAbBabBbAaAababBaaABBAaAaabBAbaAbAbAaaAAabaaBbBbBBBBBBaAbbBBAaBBBBbbBABaBAabBbAbabAbaAaaBBbBaabBABbbBBaBBbAabBabBaabbBabbBAaaAabbBbabbabBBaBbbABAaabBAaAbAAbAAAaBbAAaAbaAAabAbabaAAAbBAbBbBbBaaAbabaBAAAaBabAaBBaaAbbbAaAAAbCbaABaBaAaBbAbAABaaABbAbbbaaABAaAabBabBBbBAaAABbabaABAlbBBABbBAbAbAbbAABBbbbaAaabbBAbAbbbabbAaABBBabXaAbaAAbBBAAABaaAAAABBBaAAabbbbbbbabaaBaaBAABBAbDABbbBBaabABbABbbaaBBBAAAAaabAaBAAabbBBbBaaBbBabAaBaaabABbbAAaBbAbAABAbABababbBbBBABaabBBBbababAabAbABbBAABAaaAaAaBBaBbBabBBaAbAAAAaAABEbbABBBbaABAaAAbaabBBaaBAbAbAbAbbAbAbBaBabAAbaABaAaAaBABbbABBAabBBaaaAaaaaAbAabbABbAbaBabaaAABBAbBBabaABgBBBAAabbbBbBBAbbaAbbabbABABBBAabAbbABAaBaaBBaABABbAaBbbBABbAbABaaABBbAaBbbABABBABaBaBAAABabbbAabBaaBarBBAaAAaBBaABABBbBAAAbaBbaaBAAabBabAAbAaaaBbaABgbBBabAbBBAabBBABAAAAbaBBbbaaAbBBBBaaaaAabBBaBBbbbBaABaaAbBBAabBbBBbaAAaAaBaabBAAbBbBaBAbaBaBABaABAbAAAbAbbBBAbaaAAAaAababABaBBabAbbAaBbBAbAAaaabBBaBAbBbAabBbaaBAbbbaaAAbBbAABaBAabbakBBAaBaBbAabaBaBBaAbAbABaBbAbaBaaaaAbAAAaaabAabBbBbBAAaBBBbAAAbAaaaBabazBBbaAbAaBABbaBabBABbBABaBabbbBBABABaBaAPabBbBGBBbBBaAaBaaAAabBAABBaAaAbbbaaBbAaBBAbBAAbBaAbBABaaBBbaBBbBabaaaAAAWbBAaabbaBBABABbbaAaaBBABbBaaaABKaaabBaaBBbBbAABAAaaBAaBBAabbAabABAAabAabAbtAabBaAAaAAAaBbaABAAaBbbAbAaBaaBABAAaABaabBaBbbaABBBBBaABbAaAabbabBBBaBAaAaaBaABABbBAbAraBbbBBbuAbbabaaBAaABabBBBABAAaABbaBbbaBABbBbaAAbABaabBabaBbbBbAaBbaAaabAbBbabbabbbABBBbbBaBABBaBbAbabaabBaABaAAAababBABABbAAABABabABBAAAbBBAaBbaabABBBAbbBBbBAaBAbaBABAaAaBAAAABaAbbAbABAaaABAAbabbBBABBBabAabBaaAAbbaBabAbaaaBBAbAabbbAfbABAAbABbBBBababbbAbbBAAbbBAbBBbbaabaaAAABbbbAaabBBBBbabbBAaAbaABbaBaBaBBaaBbjAbaAbaABAbAabbBBBbAAABbAAbBbaabaAABBbABbAbBbABbaaabbbabBbAabAaABaaAaBaBAaaaBbaaAAaABAAbBaBaaBBbBbAABBbbabAAbbBbBBAaAbBAAAAbaBaAbAbbBbBbbbAbaBaaaAaaBaBaAbbbbBaBBaABBbABABAaAbAABAaAbAaaAAaAaABBbBabAaAAbABabAaAbbbAaBbBabaaBabBBBaAaAbaaBaaaBABBBAbAAabbBabaBBBBbababbAbBbABaAaABaaBbBBBbaAbbbaaaaAAAaaaaBAAaaAbabBbBBbaBBbAbBAEaABBBAAABAabbaAaABbaBBabBbBBBAaAbabaBAaBAaBbBabAABBAbBbaaBBaaBAaaaaBbBAAaABbBBAaABAAbaaabbabAAABaAbAAbAbbbbaBbABbbaBbbaaAabBBbRBAbBAAbAbBaabaBaaabAbBaBBAAabaJbAbBAAaBBABbaaAbaBbbabaabBbbAAbbaAaAABBbBAabbBaBbabAbAAbbAAAAaaBbAaaABbBaaAabAAaAaAABbaBBABbbABAABAbakBAbBBbbbbABAAaBaABaBBBBbBabbAbBaBbaAabaAabABAaAabaBABABbaBABaabaABBAbBbbBbbABAbbabABbaabaBabbbaabABaBaabbABbBAAaAAaaABbObbAbabBababBABbBbABBaABAABAabaBbBBaaABBBBaABBAbabAAbAaabAAFbBFAAbBbaaAbaaAbabbbbaBBBAbBbabbAaaBBBAAaaBBbAbaaAbaBbBaaabAAAbaAABaaBbABAbbaBbbBAaBaBaAAaABbbbBbBBBAbABBBbABAaaAabBbaAbAABbabaBBbAbaBaABBAbbaBbBabAbbbbAaaBBBBbaBBBAabAaBBAbBaaaAbbbABBBBaAABBbbbbBAbBaAAabBbBAbBbbbBBAbBaBbAaBbAbaAAababbbBAbbAaBBAAAAaaBaBABbbbAababABaABAaBaaAabAaAaAABbaBbbaAAaBbBbaaabBBbAbABBABaBbBBBabaBBABABAaBBbBbbABabaAAABUAAAaAbBabaABbAbaAbBBaBAbABBBABAAaBaBBBaaBabaAbaBBAbbAYaAABaBaaabAAABbBbaAabbabbaABBaAaAABbBBAaabAAaaBaZBbaaBabbABBaaAABbaBBbbaaBbABBABAbbaABAbabAaBBbBAaBaaabBABbbBcbbaAABBAAAbaBbaAbBAbBbAbBAaBabaAAbAabAaBaAaBAbABABaBAAaAAbbbBaAABABAaaaaBaAAaAAAAAaBBbAbAaaABaBaAbbaABAbBAAbbbaBbabAAAABabbAaBaBbbbaAaAababaaBaAbbBbbbAaabBbBAAbaabbBbAAAbAAaAaaBAAaBbbAAabbaabAbBabbaBABAbbbabbBaABAaBAaBbbaABAaabBbABBAAbBBbabAaAbaBAbBbBabAABbBABAAbBBBYAbbBaABaabbbBbbBbAbbabBBaAABAABIBAbBbaBAaBbBaAbbABbabBbbAaAbbaabBAbBABBbMAbBAbaabABaaaaaaaBaAaAaaaAAAAAabbBaabaaabAbBabbbbBBBABbaBbBAaBbbBbAbBAaABBbbAabbbABbABAAAbAAbbAaBBBAaBBbBbAaBABBbbAbbaAaDABAAAAAaAAbabbAaBbAbaABBAbbbAABBbbABBBABBBBBaaAAabaAaBbBBABaBaabaBaBAABBbaAAAaBAaBbpBabBbaBBaBbAaaBbbbabAbabBBbaBaaABbAAAabBBAAbAbabbBBbABaaBaBAABbABAbBaabABaBbAabbbBabABABAaAabAaAbaBAaAaBabaBAaaBBbaAabBAAbaaABbBAAbAbBAAAABABBAaaaAAAaABbBbABbaBBBbbbBbaAAAbABabBAABAbbbAbbaABabBaABAbaaBBBBbjAABbbbbBaBBaBabbBbAaaABAaaAABbababAaaABBaAaBBbAbBbBBAabBABbaaAbBAaAaAABBAAbbbaaAAaAaAABaBBAAAabBBaBbABaBbaabbbBAbBBaBBaBaAABbbbbbABBaBABaAbbAababbdbBbaAAAaBbBAAABaBBaaababAAAAABbABaBaBbbBBaBaABBBbaAAaaAABbBabAbAaAaAbbAAbBbBBaaBAABBbBbAaBbABAbbaBbabbaAbBbaAbaaBAbbBBBBBBAbaaAAABAaABbaBBBBaAbABAbBBaAABBabaAbAaBbaBBABAAbdyaBaBBAbAbbaaaaaqAbbAabABBBbBBBaaaAAbBBaABbABbBAAABBbbabAABBaAAaBbDAAaabBabBaAbAaAaaAAAabAABAbBaBAAAbbaaABBbabBAbbbabaAAabBBABAbbBBAbaABbAabbABABABaAabBBaBbaBBBABBaaBbabaAAaaaBbbbAaAaAbBbbabbbBaBABbbaabaAaAabAAABaaaBaABbBaBBbbaBbaBBaabBAabAaaabbBaBBaAAbbBbbAbBaabBbAAAAbbabAAAbAbAbBaBAABABaBbabBbaABabaAAABaBaAbAaAabABAaBaBaAbbbAbbbbbAAbaaxaAbAAAAWaBbAaaaBAaaBbabbaAAQaAaAABaAAbBABAAbbAabAaAabAbBBaabbbAaaBBBbBaaBAbbBabaBBbbaaBBBaBAAAbabaaaBBbAbAABaaABBBAabaabbababaBAAAAaBabBaAaBBaaaBBbABbBbbAbaAaAbAaBABAbABABAbAaaAabABBaBabbbaBBbbbBaBAbABBbAaaBBaAabAAbAaaBABBbBAaBaAAaAbBbabBaAbBBabAABbbbBBbBAaBAbBaBAAAbaBbaBAABabBabAbABabaBAAababbBbbbabaaBBabABbbAAAAABaBBaabBBAABbabBaBAAAbbABaBbBAaAAAAAAAaBBAabBaBBbAAabbbbbbABAaabAbaabbAaBbaBAbBaBAaaAabbbbaAaBAaABBBabAABBBaaABSaAAaAAbaAbbbbbBbabAaaBBabbAaBbBBaaAAAaBBBaabbBAaaBBBBabBbBaaBbAAABbBaaAbbabaBBbAaBbabBbaBbBaaabaaBaAaAaBAabAabAaEaAAABaaBAbBBbaABbBbbaBAbbaBAaaAuBABAaAabBbaBBAbAbaBBabaAbbabBBABbABabbbBBabbBabBbAABbbBBaaAbabBBAbBBBabbbbBaaBABBAbaaaABBaabBaabAbABaBabAabAbbaaAabAaBAABAbaaaAaAAbAbAaAaAAabaBABBAABbAbBbBABAaABAaAaAaBaABbBABbAaBAbbBbbBaabbbBAbbAabAAAABABAbAbbaBBBAaBBAbAbaAbaBABAAbaBbaAABBXbBaAbBAaBBabBbAaAAaaABabAAABABaAabBbBbbaBBbbAAbAABbaBbbAabBaAABAbBBbAaBaBbaBbAababbAAaBBAAbabAaaAbAABbaBaabBaaAbbbbaAbAbAAtBaaAabBBbBaBBbAaaABaBAbaBbbbaBAABaAbaBBaaAaabAabAaaBBbAbAABBbAaabAabAaabBbBbBaaaaababAbBBAAbbabaBbaaABbbBAbaAaBbBaBAabBABAAbBaBBaaaAbABbaAabBbaBbaBAaBABbbBBbABAaaAbAAbAaAababbAaBAAbABbbBabAaaAAAbAabAaBBaaaAaAAABbabAAAbBBBaBaBAaaBbBBaBBbbABbbaBaBBbAbAajaAAbabaaBAbaBaBaababBbAbAabAAABAaAabbAAAbbBBBaBbBBAAaaABabaaBAbBAAbBBbABAbaabaUabBAaAAaaBabBAbAbababbBAAAbABaAAAABBbBaAAAAaABBbABbABaBBaaBBAbABaaAaaBBABABBBJBbBbbbaBAAbbbbAAabaaaBaAbaAaAbAbabbAabbAbbaBaBbAaBaabBabBBBbabAaBaaBaAAAbBAAaaBAbBaBBbbaAaAxaAAabaAAbbBbBBabAbbabBaBAabAAbBAaAAbBAaBAAABAAAaaAbBbbAbAaAabBBBABaAaAabbaAaabAbAbaBBabAbabBAbABAbbaBaaAbaBabbbbaBAaBAaAbbAAAYabaAaBBAAAbAbbabAbaABbAABaABAabAAaBBabBBBbbaBbBBAaAabaaBbAAbaBABbaBbBbAABBBAAAAbdBBabbaaBBbBaBabBAabaAabBabBBBbaBBABbBBAABABAAAAABBABaAbAbAAaBBaBaBAAAAbbBbbaABAabaAyabAAababABbBabBaAabbBBbBAaBaaAABaBaaaaAbabAAaBbABAAbbaaBAAABaBBBaaaBbqbABAbBBBBbbaBBBbABAABBABAaBAbBbbAaAbbaaaaaaAAaBABbAabaBbabbbbzaAabABbabbAabBABbabABAabbAaaABABaaABaABbBBaBbbBBbBBbAbbABbBaaBbAbBAaBaabbAaBBAabbbAbBAaaaABAbBBaabAbBAaAabBBBbBnBBaOAaabAabBabbAbBAaVBaAaaAAbbaaABbAAbBAabBAAABBBbAaBaBAAAAbAAAABBBbaaAbbBAbAaBbAaaAabBBBaBBbBaBBAAbAAaaaaabbaaABBBBaBBBaBbaAbAAbBaBaABabBAaAbbAaabBbDAAaBbaaABAbbbBbBBBbBaaBBabaAaaAAAABbbBAaaaBAbaAAbAabbAbaaBAAbBBbabAabBaaaABaaaAABaabBAababAaAABbBbbBBAAbbBBBAbABaaaAABBAbAbbaBBBAbbabBaABBbBAaBbaAABaABabbABABbAABBbaABaAbbAAAABBbBaABBAaAaabAbBAbbbaAABbaBaabbaBaBbBbBbAbBaabbbAabbaABBAababBBaAaBbaBbBbjBbbbAaAAbbaAAAbAbAaBAABAbabBABbBbaaBABbBABAABbAbBBaBaBAaaaBAAABABBBAAAAAAaABbbbbBaBbabBBBaBaaAbBBBAHbaBAAabaaBABaaAaBaAABAbaaaabAaabBbbabaabBABBbBBabBbAaAabaaAAbAaBbbaBBbbABbBBAbAABABABBbbBabBaBabBBBAaBABaaABAbAaBBBBbBbAaABAbbAbabbbbaBAAbbAaAbabBBAABAbBbBaBbABbbbaAAaaAaaBBAbabaBabAAAaaAabBaABAAaaBABABaaBbAaBbabbAaaabAbbaaABbAbbaBaAAbBABAabAAaAbbaAbABbabbbabbbBBaBBBBaAaBAaAbbBBBaABBBbbAababbAAbAAAaBbaabAaABBbABAABaABaAbBbbbbaAABABBabbAABAbbbBbbBbbAaBBaaABaBbBBbaBAaAabbbBaABbaBAABaBBBaABaABAAAAAbaAbAbBabbAAAABbbaAABBabBAaBBBbbbAaAbBbABBNAABBaabaBaaAbBBbAABAaaABaABBAaaaABABBBAABaaaBaAbBBaBabaaAaaAaAbAABbBbABaAbBababAAbBAaaaAaaABabAbabbabBBabbBbBABBBBbbabABAAAbBbaBbaAAABbAaababBYaBABABaAabAaAAbABaaAAbabAbaAaAbAAbAaAAbBBbbAbbBabAABBaabBbAaBAABaBaABAaabbabAAAAaabaaBbAABBabAbAbaBBBaAAAbbAAAbaBAAbBBAbBbAbaaaaBbBaAbaAbBbbaABaabAAbbbBbbaaaBabaABbaBAaBAaBAbBBBbBaAabAbaABbaBBaAbABbBbbBabAbbBbBabbAabBaaBbbBbBbABababAaABAaaBaABbbBaAAbABBaAaBAbAbBBaBAaaabAbabaaBaaBABBaaabbAbBABbbBbbBAbABBaAabbAAAaABbaBAbaaAbAAaAbbBabJBBbAbaAbABbTAAAaAbaBaBBbBbaaABAbBbBaBababBbKBaABBBAbaBBabbaAAbbbBAbBBbbbYbbabaBaBaABBaBbBAAAbbaBbBbabbAaBBAAAbBAbbaAbAaBBAbAaBABbbBAbBAbBBabbaAABbABFaAbBBBAaAbBabbAaBBAAbaAbrABBaaBabbBaBABAbBabBaBaaaaaBAbBAAABbbabbbbaAabaabBaaBaaBaABbAABAbbBbBABAaabbABaBAAaaAaAAAabbaBbbBbaABbobBbBAABbbBabBBBAbbaBBAbaBAbbbBbBaaBbababBaABbbaabbBbAAbBBabABaabAAAbabAbbAbAaAAbBBaABBBbaBaAAAbBAaBbAaABBbabbAbaAbbbBBbAaabaAAAaaBabAaBaabAaAaBBabBBaAaBAbaBabbBaaAbabbAAbABaBABBBaAaAAAabBABbbABaBbBABAaAaZABAbAaaAbbBAaABBabAAbaaABBBbbbBaAbbBbAAABaBbAbBaAaAabbAAAAbbbaaabAbBbbbaAbBBbbAaAbBabBbBAAaABaAABbVABaBABbAbABbbBbABBaabBBBaababiAaaAAABbbBBbbABaaBbbaaAAbbBAABBAaBaPBaBbBBBBBbBBawbbbbbaabaaBabAAabbaaBaABAbAaaBabaoaAaABBBAaAbBABbBbAabbbBaabaAAAbAAaaaAaBBaaAaAaBBbbbAABbBaBbaBbbBBBaaBaabAaaaBAbBAfAaBaAbaaIAAABsBbAAabbiaBAbAaAbAABaBaaabAAAAAbAAaaGBbabbaBBABBaabbbAaaaBBbBBaAbBBABbAAAaBabAABbAaabbaabAaABABBBABBBBAAbAbBBAbbBbaABbbBBaaBBBABbBbaBABBbaaBbbAAAabBBAAbBaaabAbbbbBbbBAabbAaBAabbAABaAbAaBAbAbbAAABbaAAAabbBAAbbaBBabbbBAABBbaabAbbABBAABBAAaAAAbbBABabbaBAbbBABbbaaAbBAbaAbBBAaabBBAabbbaAABaAbBABBaAabBBaBaaAbaBBAaAabbAaaBaBBBBaaAaBBaabBBBbBBaBbBaAbBbaBBaaBAbaAbBbAAbBbaBBbAAABAAAbaabBBBbaBbbAabAAAbAaAbBaABBAbaAbBbaBABBBbBbbbAbAbabAbbaaABAaBBaabABbAbABaBAbAbBAAbaBbabBBaABbaaAAbBbBBBbBbABaABbbAblBAbBabBbaaAAbbBaAABAbBbaAbabdaabBBbAaBAaAaAbBabBBBAabBABAAAaBbBAaaAAaBaABaaAAABaAAAbBbBbaBaBaaaaBbaAABABaaaBbaAbbaaAaBAbaABaAbbbbBbbBbBaAaabAaBbaaabbbBBBABBbbabBabBBbaAbAaabbAbbAaBAABaBaAbbbaaabBAabaAbaAaaBbaAbBABAbBbBBAbaAbaAABABBbbBbbabBBaBbAABBABbBaAbabbbABbaaAAbBaBBaBbBBBAAbbaaAbbaAabBbAbabaaAaBAaABbBBABBAbBAaaaNBaaBBabaAABBababaaABAgABbBbaAAAbbAAAbaBBABBaBaababAABbBAbaaaabAAAaBaPZBABbBaaABaAbABBBbABbAaBaAaBBaABaaBaBbbBBABAbBaaaBAbAbVABbBAaBBAAaBBBaAbbaaaabbABAabAbaAAaBaabAAbAaBBAAaaAaaAaaBAbAAbbBaBaBBBabaBbabbAaAAbAbbAaBaABbBbaBaBBABaAaaAbaBbbaBaAaSbAAABaBaBbabaBBbAabbaAaAaabbBaBbBabbAaAAAAabABaaBbAABaaBBBABbaBbbBbABbBbBABBbABaaAbAbAbBAAaBBbbaBaaBbbbbAABbBBAbBbBBBbABBbABBAaBBaABABBbAfAaBBbaBBbAbbBaaaBABaABaabbAABYAaaABBAbAAabBbaAbaabbbbABaAaBBBbbBBaAbbaBBbBBbBAalABAbaaAaBaaABaBaBAbbAABAABABBbBbbBabbbbaBbAabBABaaBbBbaBaAbBBaAaBBbbbbaaBBBaBbBAbBBbAbABBBAMaBABAAbAaBBBAAAaBbBBBbAaBbbBBAabAbAABbBBaBAbbabaABABBAbBaAbaBbABmbAbbAaABaBBbAAbBBPBAaAABABbaBBBBbBaAaAABAAAABbABAbbAbAAabaaAABbBaBAbaaBBAABabbbBbBBbBAABbBbAbABAbBbBAbBbbBBaaAAAaaabAbAAAaababaAbBAAaAabaAbabBbBbAbBaBBabBAAABBBAbBabaABBBbbAaAbbAAaABaABBBbBaAabBbABBBbaBBAbAbbaAabAbaBbABbababaBaBbbBaAbabBbAaBbBBaBabBaAaabAbBAbAbAAabBaaAaABbaaaBBBbAABBbbbAAAbbBabAbbbBAbBBAabbBBaBAAbbbBAABAAbAaBBBABaBBBABaaABAaaBBAaBBAaBBBAaBBaAbBBaBabbAaAAabABBBbaaaaAAAAaBBBbbAbaABbBaBABBBAaABABBAAABBabBBAaBBAaaaAAAAABBBabbbAaABAABBAaBBbtabBBBBbaBAAAAAABAaAaAbaAaaaBBaaBBaABBAAbbbAAabaaaaAaAaabbBbbAbABBabAABABAbbBBBbbBbAAbBbaBBaBbABbaaAaBabbBBAAAAbbbaBBabBbBbaAaBaBBaABbBbalBbBbBABaBbBAAaBbAbABBbAABaABBBaBaBBAbBBbbBbbbbBBabbAbBbBABabBaBaAbBabaaBbAbAbbBAABBbaabaBbaAbbABABbbaBbBabbbaaaBBABAABABAabBBABbbaaabBBbABAabAAabbAbbBBBAababAAabAbAAabBAbbAaAbBbAaaAaAbbaaaBaabBAbBBAaBBbBBbbAABBaaaABaBBAAbbbBBbAabABbAaBbAaaAbAbBBAaaBAaBABBXaAaBBBaaabBBbBbAabaBbaabABbaABBbabAaAbbBabaABabbaabAbBaABBbABbBBbBAABbAbbaBaBAbaaBaBBAABBaALaaaBAAAbbbBbabbbAbaAabAbbaaAbaAaABbBBaaAAaAabAABAaABBAaABbaAABBbbAbababbABAbaBBaBbabBbAaaabAbBAAAaaBBAAabbbaBbbAbBBAAabaAabBBAABaABAAbbABAabAAbbAbbaaAbAbAaaAaBbABAbbbbaAAbABaAbaBBaBAaBBAAabAaAbAaABBbbBBBabBBaaAABbaBBBBbABAaaBBBabbaaabBbAaaaaABBbaAAAABAaaabbBababAAaBabAAaaBABaAbABaBbAaabbAAaaBaAabbBBBABbbABabBBBaAAbBAbBAZbBbaAAbaAAAbaaabaabBaAabBaaABaAabBBAbAAaBabBbAaAaAAbABbabbBAAxbBAbABBbABbAAABBBAaaabBBBBbbBaaAAbBABaBABabbabBbabAabAbabbBABBAbaBaAabABBaBBBbaaBbbBaBbBbABaBaBbBbAaBaaABbbbaBaBaBBbBBaaAbAAbaBBBAbaabbAACbaAbAbAbBBaAbAabAabaAaABAAAaBBBBbaabBbbbAabBaBaaaAbaABbBaabBbbbbaaaaaaAAaaaABaabBbBBBAAAbAABabbBbAbbbaaaBaabAAbBBABAaaBBbbBabaAaabbbABbBAaaBaAABBaaBbAbBBaABbbbBAbaAAAbaaAbAbbBbBbbbaAAAbAbAaAbBABbaBabAABBAaBaaaabbaAabBBaBBBabBaAaaBaBAbAbbabAbAabBaBBAbAAAAaabbbAbaAabaBBbAAaBAaaAAAbbAabBbaaBBABbapBbbbbbBABaaJbaabaBabBAaBBAabaBaaAAbabBbAbaaaAaAbBAAaaaAbAaAaAbaBBABaAaAABAabBabBbAAabBbbbaBaAAABaAbabaAABabaBbaBAaabaabaaAbBaAbBbaBABaABbbbAbAABBAaBaaAbAbAbaBbaaBbAaBBABaaBaaAAbBaBaAABAabBBaabAbAAbaaAABbaBaAbaAaABBABbbabbBBbBbabaBAabABbBBBabABaAABabBBbBBbbAbbbBBAAbbbbaaBbBaAAbAAbBBaBBbabbAabbbabbBABbaaAAabAABAabOBAABaBaBaAaabbBbbBBBBBBaBaaaBbBAAABaaAAAAAbBAbAbAaBAaAabAabBbBaaBaAabaBBAABbBbaaBBaAABaBABAAABBbbBbaaaabAabAbABBbAaBBaAAaAAbaaaAbAAabaBbabBAAABababAaBBabAababAaBbAAAbBaabbAAABaBabAbbbBBBBBabBabAaBabbbbaAaabbbbBbbbBAbabbbbbAAaBBAbaabAaabaaAaaABbaaABabBabBBAABAaAaBaababBBAAaBaBaaBaaBbaAAaBBbbBbbbBbabABAabAbBAABabAAABABaAaBabAaAAaaAbBababbababAAbbBABabbBbaBbbaaAaBaAAbabAaAaBbaBBaBbBBbbBbbBbbBBaBbBBAaaabABaAAAbBbABAAbbAbbAbAABBABLAabBbbAAabAbABBABBAbAbaBaAbABAbBaAaAazABbBaBbabABBaBbaArAAbBbabBBAbAbbAbBBbBaaabBBbBabBbAbAaBaBaABAAAAABbaBABaAAbaBbbBbabBAaaAbAabaBabAbAAAaABAABBaBbfAAAbbABABBaAbaaabAAbbbAbAAbabPaABBaBaBBzBBaaaaBAbABABbbBaBAAabbabaBbaBBAbAAAAbbbAAaAbABBbABAaBAbbbBABBABbaaabaAbAAAbAAABbBabBBBbBbABBBBbbAeBbABaAabAaBaBaaAbaAaAbbbAaaAaBabAbAaabbBbBAboAaAbaBaBaaBaaBbaBABBBAbABaAbbbABbzaabBmABAaABBABbBaAbaBbBBBABabbBaaABbAbbbBbAbaAAaBabbBbbtbbbAAAabAabBaaAAAAbBAAABBaBabABaAbaBbbaaBBBBaAAaBAbAAbBabAAABbBAabBBaaaABABBaaAababBaABaAaBbbBbAABAtAaAbBabaAABABaABBAaaABbAababAABAbabAbBabAaaAaaaBaAAbabBaBAaaBbbaababbbBBBbbaAbbAbbBaAbaBebbaBAbaBBBBAABAAAAaaABAAbaAabAbaBabABabAbbabBaaBbBABAbBABaAAaBbAABBabBabABAaBAbBbAbaABBaBbaAAaAAaaAbAaaaBbbaBAAbAAbBBBjaABAAbaAbAbAabbBBaABBbBBbaaaaBaAbABBBAABbabaaBbBBbBAbbbbBbaaBBaaaaAbAbBBaAABaABAbAaaAAaAbbbAbaaBBBbAABBbBaaaBBbBBAAaBbaaBaaBaBaABaAbBbBAAbBbabAAAbaBaaabAaabBBAbABbaaBBBAaBBAaBABaaAbbBBBAaaaAbabaBAABabbbabABAbaaBbBbbaaBBbbaAaabAaVaAAbbbBaBbAAaaaBABBaabSAaBBbbBAbBaEaAbBBaBAaAAAABbBABabbaaAABabaBaaBBbABaBaaBbbbbBbBbaababAaBbbAaaAbABaAbaaaaAAaBBaaaaBABbabaAbabBAaabbaBaBABaAbaBBaBaAabBaBBAbaAAabAAbaaAAbAabbASbBBbaabbbbbAABbbAbbAaaAaBAaabAAbbabBBBbBBAabBAbbBBAaBaAbAbAbABAbbAaBABAABaBAaAabAbAaAaauBaAbAbAbaBbabbbBbBabaBAbaBAbAbbaBabbAAABBaABAabbbBbaABBbBAaABABbazbBbaBaBbbbbAAAaBbBABABababaBbABBBBaAAAaaAbaBaabAABBBbAAAAAbABbbAbaaABbABBaBBAABBAaABaBaAbbabbABAabABaBaAbBaaaAaAbAABAaBABABAAABbABBbMaAbaaBlBBbbbBAAbbabaABagabbabABBABabbAbbbbABbbbBaAabBbAAABbAbbbbAbbbAbbBAbBbbBaABbBAABbBbAAbAabBBaAAAbBbbAbaABAAaAbAaAbABAAabaBBabaaABAAbaAAaaBBAAaaaabBAABBBBaBAABBaBAABbabBBAabbAaAAbBBBbAbAbAbbABBAAABaBaAAaAbabbbBABAbTAbaBbsAaAabababAbBABBabAAaBAaAbABbaBbAbaAaBAbababaBbAAAABaaaaaaaAbBabaAbAaaabABAaBaBAAaabABABBbbbBaobBaAbabAaBAaaaBaabbBABBBAaaBAAAaBaaAABAabbbbababaaBBaBabBbBBABAABbAABAbAabAaaAbBbbbbabaAbabBBbaAAbABababBbBAbbaAaBAbaaABAAbBBbBAAbaBbBBabBBBBbaBBaAAAabABaaaBBbAbabBABBabBbBBBBbbbAaBaBbaaAAAbaAAaBBbBabbBaaBAbABAAbAAbBbbAaAaAbsAbABaABaBBbABbaaBABAaBBabaAAAABbaBBaAABbaBabaBaAaAAAaaaaabaaABAAaBbBAbbBAAabBbaabAaabBBAbaaaabBBbbaBBABaBBbAAaBbbaABAbabAAaBbBAaABbbBaBAbAbaAAabAABaAABBaBabABBbaABbAABABAaBAAABabaAaaBBTAaAAABAbbbaAAaABABaBaBAAABBbBBBBBabAAbABaaaBBaaabAABbbBBBAbABabBABaBBAbaAAAaaJbaAbABbaAaAbaBAaAbbAAAbBaabbBABBaAaAaBBBbAAbaBBbbrBBAaAABABbbbbBbabaBaAbABbbAAbBAAbaBBBAAAAaaAAbBbBaBBABbabbbaABbaaAABABBBaaAABABBABbAbBBaaaBAAbBAAAAaBbbaAbabBaBBAbbaBBAbBbBbABbaaBAnAaaAAbABAaAabaABJaAaaAbBBBbabaBBBbBBaAaBBBBbbbaAbbaaababAbbABbBAaaAaAabaaBbBAbbbbAAAabaBBbABBbAbaAbABbtbbbabbbaAbbbaaaaAbBaaAaAaBAbBABbBBBAAabaaAbbBabaABbABaAbAaBbAbAbBAabAbbaBbbaaBaABAAaAbBAaaabAbaABABAbBBaabAbAAaBAbaAAbAbabaAaAaaAAAabBaaabaBBAababaBAbbbBaBbbbAABBBAabbbaBbabABABBABbAKabbAAaBBaABAaBBbAaabbBBBBBaaAABBBAbaGbAbbaBabABaaBBBbUaaaAAbBBABAAAbBaAAAaBbBBBBABBABAAAbAAABAaaBBbAcAbaBAabABBABbbaBAaABaAabbabAABbBbbbabBbBBBaabABabbAbBaAABBabaaBAbBaBaaBBbBBaBABbabbABbBBABaabAABbBbbABBBABABaabbbBBAABBbAaAaABabbAABAbAbbbBBABBAabBAaLABABaBaBbbaaAaAKABBAbBaABABBaaaaaAaBBaaaBAAbBAABBbaaBBAabABAbBaBbBAbAAaAaAaAbAbAAbBAAAABaaBaBbbbBbaaBbbbAbAbbBbBaAAbaaAaBaAbBAabbaBaabaAbabBAAaabhbbaABBABbaBabAbbaaBBAbbaAbAAabAABbBBAaABBBBAabBBBaBAAaaAAAbAEBabbAaBAAbBAAaBaAAbaAaBaaBaBbbbaAAbBaABBBabaABABbABABBBBaaaAabAAaBBbAaBAaBbAbbaAaabAAaabaAAaBBbbBAAbAbbaAAAAAABbbBabAaBBBbaaBABbaabbBBaAABAbbBaBaabAAbbaAaBABAABBAAABBBbbBbbbxbbABbABBaBabaababbBBBbBBbABBbabaaAbBaAaBBAaBaaBAaAabBaaAbABBbBAAaAaaaBaBAAababBAaabAaBBbbBaaAAABABaaAbbBBababAAbaaaBbAbBaaaAAAbbbbaaabAAaBAabbabBaaAAbAabAaBaaBBaBSaAaaaaaaaaaAbBBBaBaAbABbbBbbBabbAAaabaaAAbaaaaAAbAAABAabBaaAAbbbAAAbAaaAaAbBbBbbAbabbABbBaABbBAbBABBAAAaBBaBbAbbaBBaBAbAbaBABabbBaaabbBaAAaBbAAaabABaBaaAaAbABBabAabABbbaaAabABbbBbabAabAAabAaabbAAbaBaBBBaBBBAbBbbaBBabaaaBbAaAbbBBABbBbAaBaBBABAaaaBbaaBaBBBAaAaAbBABAababbaaAbBbbaabABBABAaNBAaaAAabaBaABabaBaaaBBBABbaBBAAABaAbaAAAbbAAAaAaaaBbAbBbbAbAAabbBBAbaBaABBbbAAAABbabBabaAbaaBAAaaAbAbbAaABbbbBBbBaabBaBbBabBABBbbBAbabBBAaBAbBAAaAABAAaABbbbBABAababAbabABaBaBBAbaAbBbAabBbabAAABABaaBBABbaAaBbBBbKABaAaaBAaAABAbabbaBAbABABbABabABAbbABabbababBBBbaABbABaAaabbbBAAAAaaABaabBAaabBAbaBaBbbBAAbBAbaABaBAbABbaBAABbaaaBABaBBbaBbBBaaAabaABbbBBAABAbbaabbBbaAbBAAbAbaAAabWABAaBAaBabbaAabaAaAaAbbbbAbBBBbvBbbabBaBaAbabBAaBbBAbbbaObaaBbabbabABAAAbAaaaabBabbbabaaBaAABabaaabBBBaaABAbbaBAaAbbAbBabbAbabAAaaBBAaAaaBabaaBbbBAAaAbbABbBBaABabaaAbAaAaBabAAAbAbBAbaABbBAaaABaaBBBBaaBbBABBbBbabABBbbbBaBBaBabaBABaBaBaBbaaAbbAbbBaAbAaBBababaAAAbBbBaaAAABbAbAuBBbaBabbAbAAaaAabaABbbBbbAaBAAAbaaAbbAaBaBBabBaAbbabABBaBbBBAabBIAAbAAaVbaAbAaAaaBaBAbaABaBBbbaABbaBBaBAbAaAABaBABAaBaABAbAAAabaBbBaBAbAabBBBaBABaaaaBaAbAaAbAbAaaABbabAABbbBbAbBBbBAabAAAbaBabaAaabbAAbbAaABAbbBBaAabAaaabbaABbFAABabaabBAbAABaBBBbaAbAbAabaaBbBBbaBAbBaabbAbBAAaBABbabaababBAaABAaBlaaAABaabbaabaBABbAAAbAaBBAAaAaAaBAAbBbabaBbbAbAAbaBbBAaaWaBaBbABHaBBAbBbBbaAAbBbBbAaAaaabbaaaABbAbabBbBbBBAAbABABAAbababaabbABaBaAbbabAabbABabbBBbbbBaAbaabaABAAAbaAbAAKbBAaBboBBAAAabAaBBbbaAbbbaaAAbaaaaBBBBBAAbaBaaaaABBabABBaAbBbabbaBABbBAAbBbbbBAabUAAbbAAbaBAbBBBbbBBBABABbbbBbbbLbAbbAbAbbBAaaaABbaaabABbabBBbBBAabbAABbBabAbbaabAbBABaAbAbaabBABaaBAbbAAaabbAbBBBaAABAabbbAAABaAbaAAAbaABIAbbbBAAbAAabABBBUAAAabbAAAbbbAbAbABBbAABbAABBAbBbbABbaBABaaBBaBAAAaaAaABBabbAaAbBbbabbAaAABAaaabbbBBbBbbBAaBBaBAbaaABABaBaBABABBABAABbbbaabABBaaBAAaAaABaAaAAbABABaBbAAbbaaabAaBbAaaBBabaAAbAabABBbBAbABaBBbabBbaaABaBaBBbbbbaBBAABaaBAabaabABBAAaAbaaAABBBAbaabBBbBabaABBABAabAbabABaBbbBBaAAaBAAaaAbbaaAaBaaBbAAAaaBbabAabAabAbabaBBBAbbaBabbbabAbAAAbaBAbAabaAaaBbaabaaBabBbbbBAABBbaaBbbBaBAaABABbbBbBbabbBBHaaaaaaaaBBbBAaabBAaAbAabAabBaABbAbAaBAbaaABBaBaaabbaBBabBBbAabbabbbaAAbaBAabaABAbbbAABBaAbabaAaAbaBaababbBBaaAababBaAaBabBAAaBaAbbAbAbAAaabBbABaAaAaaAbbAaAAabBabAAabbabaabbAbBAABbaBAbaaBBaAaBaaaBAAaaabbAbABBAABBBBAaaABBBaAbaBaaBaAABBAABBBAbBbbabbBBBbasBABBAbabABbABBaaBBBaaBBBBAbiAAABaabBBAAaBbbABBaBBbabbBaBaBBbbaBAaBaabAAaBbaAABABaBaAaaaAAAbBWaabAbbBbBAaBAAABABBaBaAbAabBabbaBbaaBBBbabbabbbYaBabBBBaABAbAABABbBBabAaBBAbBbBAaBBAAbbaAabBbaaAAabaaBAaAabbbABBAbabABAAaNbaaAaAbAbaBBabBBBBBbaaAbbAbaABABabaaAaBAabABaAbabaBBAaAbBbbbBBabbaABbabbbaBaBaaBAbaaAabaaABAabbbaBaBABBBaBBBBBAaBAbbabbBABbbaAAabAAtbbaaAaABaBaAAbAbBBAbBaBaAbbBBBabbbAabAAbAbBBaBbBbaAbaabbbBABABBAAABaBbABBabABAAABbaBBAAbbBBbaBAAAAbAAbbBBBbBbaabbBbAabaABbBBbaaAAaaBBabaBBbBaabaBbbbbaBAbBBABbbbAaaaaBBBAbaAaBBaBABbBbaBaBabAbbaAaaAbAabbaBAaBBbBABABabaabbAaBabBabbAbaaAbbAaBabAaAbBBBBaABaaBaaAaABBBAaBaAbBAAAaababIAaaabaaaabbBBaabAAbABbbbaaABABaaabBbBBaBaaBBAbBAAAAAbBaBbBaAaAaBBbBBAAaBbaBABBbbbAaaBBaAbAAaBAAAAbAaabbaAbaabBbbbBBaRABbbaaBAbAaBaaAaAbAaAbbABbbbbBABBAbbaaabbbaaABABAAbABbbAaaabBBbbBBbaAaababbaAabBAabaBbAAAAbbBABbabaaaBAbabbbaBaaAbAbiaaaBbbAbAaAAabbbbBbabAabaBbbaAbbbaaabbAbaBBaBabaBBbBbaABBbbabaaBbaBaabaBAbBABbabAAAABbaBbbbabaABBaAaBBaAaBaaaAbBBBAaaBBAaAabAaBBbaAbaAaAaaBAaaBBbBAbbbbaBbBbABAbAAbbbaSbaaBaAaaABBaaaABBBaBBABBaAbbaaBbBabbaBAaBaaabBbAbbAbAAAAAAAABAaaBBbABabAabaaAaaaBoaAaLaaBaBBaaaABbBAKAbbAABaBABAbaBaaAbbAaAabABAAbBbaBbabbAaAabaBbAaBAABbBABaabABbAaAaAaAAAbAaAbbBbbbAaAbBAabaBbaABBABabAbBBBbBAbAbBAaAaaabABbaBabaAaBbBabBBbBaBAbBBAaBbAAaAABabbaBbaAAabBaaaaaBaaBaAABAaBbaBbAaAbaBAaBAbBBBXBbAAaaaAbAaABBABAabbaBbAbbABaaAAAAaAbBaAaBbabBBABaAbBABBbBbBABAAAAbBaabAaaAAbAaaAbAaAaAABBbbAAaAbbBBbCabBabaAVbABBBaBbabBbaAaBBBAaAAaaAbaBAbGaBABbAbbBBabABbBBAaBBBAbbaABabBaaabaaaAbaaBbbAAbAAAaAbabaaABbaBbBAaaabbaAbabBaAAbAgBBBAaAaAbBBBaAAabABaaBbAaBbbbaBbbbBBbBBBABBaaBAABBbbABAaBbAABAbABabbaAAbbABAbBaBAAbaAAABBbTAABbAAAaABBAAAaABbABaAaaaBAABaABAbBaaaaabBabAAbabBaBAaABbAAbaaabBAaaabBBBBBaaAaAbbAaaABAABBbbaaaaBbaBAAaaaAaAaABbBbAaBBBBbbaaabbBBabBbBABbAaBBbaaaBAAabaAaBabBaAAaBaabBAaaBaBbbNbbbBbbBabAaAabBBAAABaBbBBBaabbAAAaBaBAaabBAAbabbAAbaaAbABABaBaBBABAbBbBaAbbbAbBbAaBaBBaaaBBbaAAabABbaBAabBbbaaabaaAabAbBAbAAAAAAbAbAaAbbAaBaBbbbBAbBAAaAaabAaABaBbAAaabaaAaAabABaAabbBBABaBbAaBBBAaAbAAbabAAAaaBBABBBAaAbaaaAaAbbbBbaBBbABBaBaAABbABaAaaABbAaBaBbbaBBBAaaBAaABAABbBBBBbABaBbABababBBAabBbbBBbbaBBAAbbaAaBBAaAbbAaaABbABaABBBBaBBABAbaABBaAbbBabbgBbBAABAAAaBbbAAaAAaaBaBbgAaAaaAAbAbBAaABaaaBaBbBbaAAbbAaeABbaaBABBBbBabABbAbababaaaabbAbABabAaBaaBBaBaAaaAAABABaAabABBBbABabbBBAbaabbbAAbbBbaAbBBbaaaAbaABbBBabbbaAAaBBbAbbbbAAaaABAmbaaABBaaBBaaBabBBAAbAbAabbAaBAABAbBbAaAaaBABaaaABaSbaBbababaBaaAbbbaabBBbaaAbbaAAAabbbaBBBAAABbaaAbBAbbGbBBAaAabAaabAaaaAaaBbbBaAbBabBbbBbaAAbAbABbbbAaAAAbBBbabBaabBbABaAAabBabaabAUBbbbBBAAaaBAAbbAaBaaABabAAAAAaBbaRbBbAbABbAAAbBabBaABHAAbAAABabbabAaaABABaBbbaABBAabAbabBBbbabAaBabbBbabBbBaaBBbBabAaAbAbbabBBbBaAAabBAAaBAbAAaaBaAAAbaAbAAABBAABAbbBABBBAbabaAAbAaBAABBbAaAabbBaAbABAbBbAbaabBabAAbaAAaAAAaBAabAAaAbBAbabAbaBBbBAbBAbbaAbAbabaabbbabBBaABbaBabBaABbABBABABaAaAbBAaBAbAbbBBbabBbBabBBabbBBaBbAABbAaABAabbABBaabAbAbAAbbABAbBbaabbAbBAaBAABabbbbABaOaBbaBaABbbaaBABBBaABaAAaAaAAAbAbBAAABAbABBBAbababABbabAaaABAaBBAABAAaaAAaBBBbbaAbbabAAbBAAAbBBBBaabbAaaaaBbbaaAbBbABbaBAabBaBAAaAAABBaBbBAaAaaBBbbBbAaAabbaaABBBBBBaBABAbbaBBABbAAAbaaabAAbaaAAaAaBbbABaAaAbbaaAaBAaAbAAbaaAaBABBaBbaBaBbAAAaaABbaAAabAabbaaAabAaaAbaBbBAAaaAbbaaABAbbaaAAABaaABAAbABBabbaBBaBbAaBBabbbBAbAbabABBAbBBabaAbbabbABbaAaAaBBbBbbAbaBaAAbabABbabBabBaaABBBABABBBAaABabbBbBaAYafBbAbABBabaBABBbbaAAaAbBbabbaABabbAABBaBbABabAaaAAbaBbBbaAbAbBbbabAbbAbAabBbabbbbaABABBbaBABAabbaAAAbAabBabAaBbabBBbaAbBbbbBbAbaabaaAbbabbaBAaaAbbBAbaBAbbAaabgBaAbABbaaABAabaABaaabbaAABbabBBbbBbabaAABbAbBBAaabababbBAAAabbaaABbbabAbabbabaBBbbbAbaaaAbbABAaAaBABBBBaAAbbbbABAabABAbAbAaaaabABAbBaBBBbbBaBBAaABABbabBaACBbAaBbbbbBbbAaBBaBbbABbAaaAababaBaaAABaBAbBBabAbBBbBAbBABabAAABaAbaBaBAmAaAaabAAbAbbABbbbbBAABBbaaABbaAABBbBBBaaaaABbBaBABaABbbbaaAaBbaHAbbaaanbaaBBBbBabBbabaBBABBAbbaAbbbAAabABBBaBbAbaBabBAaaABBaAbaBbbAaBbABABBbbbbbBABaBAAaABaABbAbAaAaAAaABbabaABAaBbBBbbBbAaaBbBBaBbaBBBAAaAaAaaaaBAbbabBBAbaABabbabaBBaaABBbAaaaabaAbbababaabBabBBbBBababaBBBBABaAAAABbBaBBBbaaaABBbABbBbAbbABbababbBaAAAaBBbaBabAaAbbababABBBbbAaaBBbbbbABaaabbAabbaabBaaaaBbAABbaAbaBAbbaaAAaAaABBbBaBBbBABAbaAAAabBbbBAAAbaaAaABbbbBbABBaBaAbAaAAaABBbBaABbaaAAaaaABabaAaAABAaBBAaBBBbAABaAaBaBbBABABBBbBaAaBaAaaBaBaBAAabABbbbbbBAaAabAbAAbbAabbaABABaABAAABbbAbabaaBaabBABAaABBaaAAalbbbbAaBaABbBBBbbaAbbABbAAAabGBbbaBBbabbAaBabBbaBbaAbABaaaAbBBBbBBAaABAAaBAAbbaAAbBAAAAABbAAABBbAaBbbAAabAAbbBabAaaBAbaaBAaBbAbbAbBBaBbAbBBbBBaAAaAaBBAabbAbAbaAaAaBbBaabaBBBAbBAbbAAAbbBaBbbabAbaabABAAAbBbbaBbaaaabAaaABAAabbbBBaBbbabBAaBabAaAbBbBaaABbBbaAbabAbBaAaBabaBabaaBaaaAaaaabbbbaaBAabAabaaBBaBBbAAbbBAaBaABAbBBbBAaBaABbaaaBbaBBbBbaabBbaaAABAbbbbbAbbaBAaBAbaaBBABBaBAAAbBAbbBABbabBbABaBAAAbAbbbbaBbbABaababAAbaBAaABbAaAbbBAabaAAAaBAbAaAaaaBBbaaabAaBAaBbaaaaBbAABAbbababBBbAaABaABbaaBABbAbBaAABbBBABaAbBBqABAAbbbbBaBbBBabABAbaABAaBbabABBaaBbABBBBbaAaaBBBAAABaBAAabABBaaABABbAbbAabaaBAbaAaAABAbbabBbaABBAaaBBBBBAbAaBAAaaBbAAAbABBAbbAbbBbbBBBABaBAababABaAbbBBaBbbaaaaAabbBAABABaBbaabbaBaBBAAabBbAbbbaABABAaAaBBBbBbBABaaFBbAaBAAaAbabBBBAabaaAbbAbBAaAaABaAAaABaABaBbbBAaABAaaabAABBbAaBBABbaabaBAAAbBabBabAbBWbaBAaabbBAAAabaAAaBABbBbbbAAAaAababbbbBbbbubAAAbBaABBAAAabbAabBAbaaBABbbBAbBaBabBAAbLABbBAbaBbBaABbAAaBBBababbabbbaBbBBaAaBbbAbabbAabaAaaaBAaAAabbaaBAAaBaAbBBbbAaBBaAbbAAAaAAaaaAauBbaAabBbbbBbbbababAAaaBabBbBBABAaBbAABaABBAAaBaBAAaaAaaBBBbbABaBbbaBABBABaaBAbBaABbABABAabbaABbaABbABabAabABaBAbBbAaAAAabbABaBaAbbABBAabAbbbbbBbaaAbAaBbaBBBBBbbBaQBbAbBbbAaaBabbbbaaEaaaBBbBbbbAABAbbbABBBBbbaBaBBBAAAbABAbBAbaBbaBAAAbbBaABBBabABAaaBAAAaabbaAaABbBbBbaBaBABAaaBBbBbbBAAAbABAaAaabbABABBAABAabAAAABAbbAabbbBbabaabbabbAbbBAbbaAaBAbaBAAAaBAbaAbAbbiBbAbaABaBAbbbBbBaabbAABbabaaaABAbaaAaaAaBBbbAABaBbabAbAABBAABbAAbBBAbABaAaBabbAaaaBtABaBAbAbBAaBBaBbBBAaabbBATAbaBBbAbAbaBAaabbbAaBBabBAABBAAaBMaBbbabAaaBbbaBaaAaAaAaabBabBaaAbabYbBbXaBBbBbbDbbAbbaBBbbAaBBbBaBABBabaBaBABbBaaBabBbBbabbaaAAABaabBbAbAzaabBbBaaAbbBBBaAbbBABbAAABaBBaABaaaBaaAABABaAABAaaAbBAAABababAAABBbaABABAaABBBbabbYbaAaBbBbbaBbbABaabAabBbbBaBabBAaBAbaBaabBBBaBBaAAbaBABbbAbabaaaBBBbbaAabABabBBABBAbbabBbbanABBAabaAABbAAaaBbBaababBbABaBbAabAbBABBBAabBAaabAbabBabAbAbaABBAaAbbBbabbbBBbABABAbBbAabbBABaBAabBaBBBaaaaAABiBabAAAbabbAAbaBbABBAAaBbBbBaBAAbbaBAAaAAaBaAabABABaBbabABAbbbaABBaaabBbaabbBaAaaabBAbaaaaLbBAABAABaaAbbBaaAbaBaBBBAbbaBBbabAAABBbbAAAAaAABAAbabbbbAAbabaBaAABBaabBAaaBbBAbAaaabbaBABabABBBaAaBBbabbaAAabAbBbBaAaaaAbAbABBAbaBBBaAaAbbbaBBbbBBAbbaAaAaaAaAABaBAAbaABBaabbBaaaAaBBbIbbbbBabaAAbABaBbaBBBAbbAbabBAAAbBAaAbAAAabaaABAabAAAaWaAAaaBAaAaAABaBbbaAbbbBBaaAabBbaAABaAaBAAbBaaaBbBaaBabBbBbbBAbABAabAaAAabBBaabaBbaAabaaAbBABaBaBBnAaAaBbAbBabbbBBbaaaBbABAAAbAbAbbaABBAAbbbABAAbABbBAabBbabaaAbBAbbaaAaBabbbABBbBABaBbbAAaABBbBBbBabaBBABBbbbBaabaBaaaabBaaBAbaABBBAAaBbbAaABaBBBbBbaabBbbAbbAaAbbBabbBABaAABbBbAAAAaaAABABbBBAbABAABBbBaaBbBbAbAbaaAbBBBBaBAAabaABAbAaBAAaAaABABBaAbBBBBbbbBbbaabBBbbBAaaAabbbaAaAbBaaBBBabbAaBAbbbbAbAABABABBaBAbbbAAAAAbaAbBBAAbBbbBbaABBbAAbABaABBaaBABBaaBAaBaababABaaABAAgAaBAaAbAabABABVABabAaaBbBAAbabbbbbBAAbbbAaAAABAabbAaBAaAbaaBbaBbbbAbaaBAbaaBbBaBBABaabaBbABaAABBBaaaAbabBbBaBbaaAAAbAaAAAbaabbyBbbBbbaABaABBAbbabbaAAAaabaAAbAaAAaaBabbaBBbBBaAAbBbAbbAbAAaaaBbaABBAAaBbaaAbbAAabbaaaBBBbaaAbBbABABBAAaAaAABAbbBAaaBBAaBbbBBaaaAbaaBBAaAabABBbAabAbaAabBbbBaAABBbAabaaaBAbaaAbabaBabBaVABBAAaaAAaBBAAbaAaabAbbaAabbbAAbaABaABABaABAABBABBaAaAABabBbABqbBaBBbAABABbAABaaAaAaaAaaBaAAAabAabbaAaBBaABaBAzaBBbBAiAaBabaABAabaABaaBbbbaaBBAbbAAbBBAAAAAAaAbbabaBbBABABBAaaAABBBAaabbabbbbABaaabBaAaBABBbBbAAaBaAbBbBAaBBBAABbBAaaAABBbAAbbbBAaBbBBaBbBAABBbBAaAABBbbbBAABAawBAaBAbBBBBABBABbBaBBbaBbBBBABAbBbBABaAAbBAbbBaBbBbABaBbBAbAABababAabaaABAaaaabbaBbaaabaaeaBaaAaaaaaBaAbsAaBabbAaAabAAbABbaAABaabaAaBABAAbbBbaBAaAbbBABAAaBAaaaAAbBBABBbABBAbBaaaAABABAabbaBaBAbAaABaBBAABBAAbAbABBAAABBbbaaabBBAabBAaUaBbabABABabbaBbABaBBABAAbBAAaBbaAbABBaAaBBBbbAbbBbaAaAaBbBaaBBbAAabBaBABABaaAbbbVaABAbaBaBaaAbAbAbABbAAAbAbAAAbbBBBBbBBbBaaAkBaBAaaBbBabBAAbbabaAaaBaBaABAbbBAAbAAAAaAabBbaAbaaaAbaBBBbBbaBaBbabBAaaBaabAaAABbbBBBAbbbbABBbABABbBbaBBbABBaAbAbAAbAbAAbAabBABabBaaABaBoBBbAaBaBABABAAabBbAABAAabABaBABaBBbaABbBAaAaAbbbbABBBaBABAbbaAAbBbAbBBaaB";
        long st = System.currentTimeMillis();
        String hhh = frequencySort_(s);
        System.out.println("答案：\n" + hhh);
        long st2 = System.currentTimeMillis();
        System.out.println(st2 - st);
        String hhh3 = frequencySort(s);
        System.out.println(hhh3);
        System.out.println(System.currentTimeMillis() - st2);
        System.out.println(hhh.equals(hhh3));
    }

    /**
     * 答案
     *
     * @param s
     * @return
     */
    public static String frequencySort_(String s) {
        Map<Character, Integer> map = new HashMap<Character, Integer>();
        int length = s.length();
        for (int i = 0; i < length; i++) {
            char c = s.charAt(i);
            int frequency = map.getOrDefault(c, 0) + 1;
            map.put(c, frequency);
        }
        List<Character> list = new ArrayList<Character>(map.keySet());
        Collections.sort(list, (a, b) -> map.get(b) - map.get(a));
        StringBuffer sb = new StringBuffer();
        int size = list.size();
        for (int i = 0; i < size; i++) {
            char c = list.get(i);
            int frequency = map.get(c);
            for (int j = 0; j < frequency; j++) {
                sb.append(c);
            }
        }
        return sb.toString();
    }

    /**
     * 思路：
     * 题目认识：字符串s是乱序的，相同字符不一定在一起，结果中把字母相同的放到一起输出
     *
     * 1、把所有字符放入map,key是字符，value是出现次数
     * 2、放入list,方便进行倒序排序
     * 3、遍历，把出现的次数依次拼接字符次数
     * @param s
     * @return
     */
    public static String frequencySort(String s) {
        if (s == null || s.length() == 0) {
            return null;
        }
        Map<Character, Integer> map = new HashMap<>();
        for (int i = 0; i < s.length(); i++) {
            // 把所有字符放入map,key是字符，value是出现次数
            map.put(s.charAt(i), map.getOrDefault(s.charAt(i), 0) + 1);
        }
        List<Map.Entry<Character, Integer>> list =
                new ArrayList<>(map.entrySet());
        // 倒序
        Collections.sort(list, (o1, o2) -> o2.getValue() - o1.getValue());
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < list.size(); i++) {
            Map.Entry<Character, Integer> entry = list.get(i);
            String tm = entry.getKey().toString();
            for (int j = 0; j < entry.getValue(); j++) {
                // 把出现的次数依次拼接字符次数
                sb.append(tm);
            }
        }
        return sb.toString();
    }
}
